长江大学数据结构程序设计报告.docx
文本预览下载声明
算法与数据结构课程设计报告
系 (院): 计算机科学学院
专业班级: 计科11101
姓 名: 袁斌
学 号: 201103258
指导教师: 周云才
设计时间: 2013.6.17 - 2012.6.29
一、设计目的 3
二、设计任务及要求 3
三、设计方案 4
四、代码实现 4
五、测试
六、可改进的的地方
七、难点与收获
一.设计目的
1.能根据实际问题的具体情况,结合数据结构课程中的基本理论和基本算法,分析并正确确定数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。
2.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。
3.初步掌握软件开发过程中问题分析、系统设计、程序编码、测试等基本方法和技能。
4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
5.培养根据选题需要选择学习书籍,查阅文献资料的自学能力。
二、设计任务:
设计一个基于DOS菜单的应用程序。要利用多级菜单实现各种功能。内容如下:
1. 无向图的基本操作及应用
① 创建无向图的邻接矩阵
② 创建无向图的邻接表
③ 无向图的深度优先遍历
④ 无向图的广度优先遍历
2. 无向网的基本操作及应用
① 创建无向网的邻接矩阵
② 创建无向网的邻接表
③ 求最小生成树
3. 有向图的基本操作及应用
① 创建有向图的邻接矩阵
② 创建有向图的邻接表
③ 拓扑排序
4. 有向网的基本操作及应用
① 创建有向网的邻接矩阵
② 创建有向网的邻接表
③ 关键路径
④ 单源最短路径
⑤ 每对顶点之间的最短路径
三、设计方案
DOS界面的主菜单
void ShowMainMenu()
{
cout\n;
cout*****************图的基本操作及应用****************\n;
cout* 1 无向图的基本操作及应用 *\n;
cout* 2 无向网的基本操作及应用 *\n;
cout* 3 有向图的基本操作及应用 *\n;
cout* 4 有向网的基本操作及应用 *\n;
cout* 5 退出 *\n;
cout***************************************************\n;
}
void UDG1()
{
do
{
cout\n;
cout****************无向图的基本操作及应用*************\n;
cout* 1 创建无向图的邻接矩阵 *\n;
cout* 2 创建无向图的邻接表 *\n;
cout* 3 无向图的深度优先遍历 *\n;
cout* 4 无向图的广度优先遍历 *\n;
cout* 5 退出 *\n;
cout***************************************************\n;
cinn;
switch(n)
{
case 1:
创建无向图的邻接矩阵
break;
case 2:
创建无向图的邻接表
break;
case 3:
无向图的深度优先遍历
break;
case 4:
无向图的广度优先遍历
break;
default:
if(n!=5)
cout错误,重新输入\n;
}
}while(n!=5);
}
void UDN1()
{
do{
cout\n;
cout***************无向网的基本操作及应用**************\n;
cout* 1 创建无向
显示全部