- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计报告班 级: 计算机科学与技术132班 姓 名: 赖恒财 指导教师: 董跃华 成 绩: 32 信息工程学院 2015 年 7月 8日目录图的最短路径算法实现1.需求分析11.1 程序设计内容11.2 设计要求12.概要设计23.详细设计23.1 数据类型的定义23.2 功能模块的设计23.3 主程序流程94.调试分析104.1 问题回顾和分析104.2.经验和体会115.测试结果12二叉树的遍历1.设计目的132.需求分析142.1课程设计的内容和要求142.2选题的意义及背景143.概要设计143.1设计思想143.2程序数据类型163.3程序模块分析163.3.1置空栈163.3.2入栈173.3.3出栈173.3.4取栈顶操作173.3.5判空栈173.4函数关系:184.详细设计184.1二叉树算法程序截图和结果185.程序测试结果及问题分析196.总结20参考文献21附录122附录226图的最短路径算法实现 ----基于floyd最短路径算法需求分析设计校园平面图,所含景点不少于8个。以图中顶点表示学校内各景点,存放景点的名称、景点介绍信息等;以边表示路径,存放路径长度信息。要求将这些信息保存在文件graph.txt中,系统执行时所处理的数据要对此文件分别进行读写操作。1.1 程序设计内容1.从文件graph.txt中读取相应数据, 创建一个图,使用邻接矩阵表示图 ;2.景点信息查询:为来访客人提供校园任意景点相关信息的介绍;3.问路查询:为来访客人提供校园任意两个景点之间的一条最短路径 。1.2 设计要求(1) 程序要具在一定的健壮性,即当输入数据非法时,程序也能适当地做出反应。(2) 程序要添加适当的注释,程序的书写要采用缩进格式。(3) 根据实验报告模板详细书写实验报告,在实验报告中给出校园平面图。(4) 校园平面图中的校园景点信息保存在文件graph.txt中。2.概要设计此程序主要实现以下几个模块, 基于下面几个模块完全可以实现此题要求.(1). 图的创建(2). 输出提供可选查询景点(3). 景点介绍查询处理(4). 查找两景点间的最短路径(5). Floyd算法(核心)3.详细设计3.1 数据类型的定义typedef struct{ char name[100];//名字char info[10000];//介绍}VertexType; //顶点结构typedef struct{ VertexType vexs[10];int arcs[100][100]; //邻接矩阵int vexnum,arcnum;//顶点个数,边的个数 }MGraph;//图结构校园道路是双向通行的,可设校园平面图是一个带权的无向图,用邻接矩阵表示此无向网。邻接矩阵的数据类型定义如下:3.2 功能模块的设计3.2.1 图的创建void initGraph() {freopen(graph.txt, r, stdin);//打开文件scanf(%d %d, mg.vexnum, mg.arcnum);//读取顶点数、边数//循环输入景点、景点介绍for (int i = 0; i mg.vexnum; i++) {scanf(%s %s, mg.vexs[i].name, mg.vexs[i].info);}//初始化矩阵,任意两点之间没有路for (int i = 0; i 100; i++) {for (int j = 0; j 100; j++) {mg.arcs[i][j] = 999999;//999999相当于无穷大}}//输入距离for (int i = 0; i mg.arcnum; i++) {char from[100];//开始结点名char to[100];//结束结点名//f表示开始结点编号,t表示目的结点编号,dis表示两点间的距离int f, t, dis;scanf(%s %s %d, from, to, dis);//把景点名字换成编号for (int j = 0; j mg.vexnum; j++) {if (strcmp(mg.vexs[j].name, from) == 0) f = j;if (strcmp(mg.vexs[j].name, to) == 0) t = j;}//创建邻接矩阵mg.arcs[f][t] = dis;mg.arcs[t][f] = dis;}floyd();//floyd算法计算各两点之间的最短路径,后文定义freopen(CON, r, stdin);//改变输入流}校园平面图可以表示成为一个无向网,用一个MGraph 类型的变量 mg表示这张无向网。网中包含了景点的名字和信息,以及表
您可能关注的文档
- 《数据库课程设计报告-学生选课管理系统课程设计》.doc
- 《数据库课程设计报告-学生选课管理系统》.doc
- 《数据库课程设计报告-校友录系统设计》.doc
- 《数据库课程设计报告-手机进销存管理系统》.doc
- 《数据库课程设计报告-考勤管理系统数据库设计》.doc
- 《数据库课程设计报告-汽车管理系统》.doc
- 《数据库课程设计报告-电力机车牵引力计算系统》.doc
- 《数据库课程设计报告_学籍管理系统》.doc
- 《数据库课程设计报告-超市进销存管理系统设计》.doc
- 《数据库课程设计报告-通用工资管理系统课程设计》.doc
- 明达玻璃(厦门)有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版完美版.docx
- 第二单元《我们一起长大》大单元整体设计(含教学评价) 2025道德与法治一年级下册.docx
- 明达玻璃(厦门)有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版学生专用.docx
- 明达玻璃(厦门)有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版含答案.docx
- 第七单元 用方程解决问题(大单元教学任务单)五年级数学下册北师大版.docx
- 明达玻璃(厦门)有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版及答案一.docx
- 明达玻璃(厦门)有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版审定版.docx
- 烟雨繁华或故都血色:南京的记忆与书写——前言.pptx
- 产品销售合同经典版范本5篇.docx
- 第三单元《幸福一家人》大单元整体设计(含教学评价) 2025道德与法治一年级下册.docx
最近下载
- 2024年广东省初中学业水平考试模拟地理试卷(一)课件.pptx VIP
- 广州洪德巷历史文化街区保护利用规划.pdf
- 广州市人民南历史文化街区保护利用规划(文本+图纸).pdf VIP
- 关于烹饪的策划书3.pptx
- WALL·E《机器人总动员(2008)》完整中英文对照剧本.pdf VIP
- LDT 99.13-2008 建设工程劳动定额市政工程-维修养护工程.docx
- 实验报告之spss频数分析.docx VIP
- 新教科版科学小学科学五年级下册全册教案(表格式,可打印).docx
- 2022年新改版教科版五年级上册科学全册教案教学设计(新整理版).doc
- 某小区高楼变频恒压供水系统设计.docx
文档评论(0)