长江大学数据结构程序设计报告

上传人:世*** 文档编号:170368897 上传时间:2021-03-02 格式:DOCX 页数:46 大小:580.86KB
返回 下载 相关 举报
长江大学数据结构程序设计报告_第1页
第1页 / 共46页
长江大学数据结构程序设计报告_第2页
第2页 / 共46页
长江大学数据结构程序设计报告_第3页
第3页 / 共46页
长江大学数据结构程序设计报告_第4页
第4页 / 共46页
长江大学数据结构程序设计报告_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《长江大学数据结构程序设计报告》由会员分享,可在线阅读,更多相关《长江大学数据结构程序设计报告(46页珍藏版)》请在金锄头文库上搜索。

1、算法与数据结构课程设计报告系 (院): 计算机科学学院 专业班级: 计科11101 姓 名: 袁斌 学 号: 指导教师: 周云才 设计时间: 2013.6.17 - 2012.6.29 一、设计目的3二、设计任务及要求3三、设计方案4四、代码实现4五、测试六、可改进的的地方七、难点与收获一设计目的1能根据实际问题的具体情况,结合数据结构课程中的基本理论和基本算法,分析并正确确定数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。2提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。3初步掌握软件开

2、发过程中问题分析、系统设计、程序编码、测试等基本方法和技能。4训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。5培养根据选题需要选择学习书籍,查阅文献资料的自学能力。二、设计任务:设计一个基于DOS菜单的应用程序。要利用多级菜单实现各种功能。内容如下:1 无向图的基本操作及应用 创建无向图的邻接矩阵 创建无向图的邻接表 无向图的深度优先遍历 无向图的广度优先遍历2 无向网的基本操作及应用 创建无向网的邻接矩阵 创建无向网的邻接表 求最小生成树3 有向图的基本操作及应用 创建有向图的邻接矩阵 创建有向图的邻接表 拓扑排序4 有向网的基本操作及应用 创

3、建有向网的邻接矩阵 创建有向网的邻接表 关键路径 单源最短路径 每对顶点之间的最短路径三、设计方案DOS界面的主菜单void ShowMainMenu()coutn;cout*图的基本操作及应用*n;cout* 1 无向图的基本操作及应用 *n;cout* 2 无向网的基本操作及应用 *n;cout* 3 有向图的基本操作及应用 *n;cout* 4 有向网的基本操作及应用 *n;cout* 5 退出 *n;cout*n;void UDG1()docoutn;cout*无向图的基本操作及应用*n;cout* 1 创建无向图的邻接矩阵 *n;cout* 2 创建无向图的邻接表 *n;cout*

4、3 无向图的深度优先遍历 *n;cout* 4 无向图的广度优先遍历 *n;cout* 5 退出 *n;coutn;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()docoutn;cout*无向网的基本操作及应用*n;cout* 1 创建无向网的邻接矩阵 *n;cout* 2 创建无向网的邻接表 *n;cout* 3 最小生成树 *n;cou

5、t* 4 退出 *n;coutn;switch(n)case 1:创建无向网的邻接矩阵break;case 2:创建无向网的邻接表break;case 3:最小生成树break;default:if(n!=4)cout错误,重新输入n;while(n!=4);void DG1()docoutn;cout*有向图的基本操作及应用*n;cout* 1 创建有向图的邻接表 *n;cout* 2 创建有向图的邻接矩阵 *n;cout* 3 拓扑排序 *n;cout* 4 退出 *n;coutn;switch(n)case 1:创建有向图的邻接表break;case 2:创建有向图的邻接矩阵break;

6、case 3:拓扑排序break;default:if(n!=4)cout错误,重新输入n;while(n!=4);void DN1()docoutn;cout*有向网的基本操作及应用*n;cout* 1 创建有向网的邻接矩阵 *n;cout* 2 创建有向网的邻接表 *n;cout* 3 关键路径 *n;cout* 4 单源最短路径 *n;cout* 5 每对顶点间的最短路径 *n;cout* 6 退出 *n;coutn;switch(n)case 1:创建有向网的邻接矩阵break;case 2:创建有向网的邻接表break;case 3:关键路径 break;case 4:单源最短路径

7、break;case 5:每对顶点间的最短路径 print1(MK);break;default:if(n!=6)coutn;switch(n)case 1:UDG1();break;case 2:UDN1();break;case 3:DG1();break;case 4:DN1();break;default:if(n!=5)cout错误,重新输入;while(n!=5); 四、实现代码:#include#include#include#include#includeusing namespace std;#define MAX_VERTEX_NUM 100/最大顶点个数#define I

8、NFINITY 10000/最大值#define FALSE 0#define TRUE 1typedef int VRType; /顶点关系( 表示是否相邻)typedef char VertexType;typedef int InfoType;/弧相关信息typedef enumDG,DN,UDG,UDN GraphKind;/有向图,有向网,无向图,无向网typedef struct ArcCell VRType adj;/权值 InfoType *info;/该弧相关信息的指针ArcCell,AdjMartixMAX_VERTEX_NUMMAX_VERTEX_NUM;typedef struct VertexType vexsMAX_VERTEX_NUM; /顶点向量 AdjMartix arcs;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号