2014080802-- 实验六最终报告.docx

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2014080802-- 实验六最终报告

数据结构课程实验指导书—第六个实验HUNANUNIVERSITY课程实习报告题目:无向图中求两点间的所有简单路径学生姓名: 学生学号: 专业班级: 指导老师: 完成日期:2014080 802 --物联 1402李晓鸿2016.5.22- 1 -数据结构课程实验指导书—第六个实验实验 6 无向图中求两点间的所有简单路径一、需求分析(1) 输入的形式和输入值的范围: 输入一个正整数代表城市总数。 输入一组四位数编号作为城市的代号,以回车完成每个输入。 输入几对四位数编号代表两个城市之间的公路,以 0 0 结束。 输入一对四位数编号,表示需要查找的两个城市。(2) 输出的形式: 查找成功则输出两个城市间的所有简单路径。 查找不成功则输出不连通的相关信息。(3) 程序所能达到的功能: 存储用户输入的城市总数,城市的编号,连接城市的高速公路。 根据输入查找两个城市间所有的简单路径。 如果有则输出所有的简单路径,如果没有则输出错误信息。(4) 测试数据: 第一组:输入:(存在路径)3//个数 0001/城市编号 输入:0001 0002//城市间的公路 输入:0 0//结束输入输入:0001 0002//要查找的两个城市 输出:0001 0002//两城市的路径 输入:0 0//退出查找第二组:输入:(不存在路径)3//个数 输入:0001 输入:0002输入:0003//城市编号 输入:0001 0002//城市间的公路 输入:0 0//结束输入输入:0001 0003/要查找的两个城市输出:两城市间没有高速公路 输入:0 0//退出查找第三组: 输入:(通过第三个城市连通)- 2 -数据结构课程实验指导书—第六个实验5//个数 输入:0001 输入:0002 输入:0003 输入:0004输入:0005//城市编号 输入:0001 0003//城市间的公路 输入:0002 0003//城市间的公路 输入:0001 0005//城市间的公路 输入:0 0//结束输入输入:0003 0005//要查找的两个城市 输出:0003 0001 0005输入:0 0//退出查找第四组:输入:(输入数据为负)-3//个数 输出:错误信息,重新输入输入:3输入:0001 输入:0002输入:0003//城市编号 输入:0001 0002//城市间的公路 输入:0 0//结束输入输入:0001 0002//要查找的两个城市 输出:0001 0002//两城市的路径 输入:0 0//退出查找第五组:输入:(城市公路输入错误) 输入:3//个数 输入:0001 输入:0002输入:0003//城市编号 输入:0003 0004//城市间的公路输出:错误信息 退出程序二、概要设计抽象数据类型的定义: 因为每个城市间是否有高速公路的关系的非线性的,并且一个城市可能和其他的多个城市间存在高速公路,所以城市之间的高速公路是一个网状结构,又因 为城市间的联系与方向无关,所以可以把城市作为顶点,城市间的高速公路最为 边,用一个无向图表示高速公路网。- 3 -数据结构课程实验指导书—第六个实验图 ADT:数据对象:V,R(图是由一个顶点集 V 和一个弧集 R 构成的数据结构) 数据关系:Graph = (V,R) VR={v,w|v,w∈V 且 P(v,w)}基本操作:int n() =0; // 返回图结点数 int e() =0; //返回图边数int first()=0;//返回该结点的第一条邻边 void setEdge()//设置边int next() =0; //返回下一条邻边 int getMark() =0;//返回标记 void setMark() =0;//设置标记为了方便存储搜索时的路径,这里用栈来进行存储。Stack ADT:数据对象:D={ai|ai∈ElemSet, i=1,2, …,n, n≥0} 数据关系:R1={ai-1,ai|ai-1,ai∈D, i=1,2, …,n 约定 an 端为栈顶,a1端为栈底。基本操作:InitStack( S )//操作结果:构造一个空栈 S。 Push( S, e )//插入元素 e 为新的栈顶元素。Pop( S, e )//删除 S 的栈顶元素,并用 e 返回其值。(2)算法的基本思想: 1、存储输入的城市编号和城市间的高速公路。 2、根据输入完成图的创建。 3、输入需要查找的一对城市,若输入为 0 0 则跳转至 7。 4、利用 DFS 进行查找。5、若成功则输出城市间的所有简单路径,不成功则输出错误信息。6、跳至 3。7、结束程序。 (3)程序的流程:程序由三个模块组成: (1)输入模块:输入城市总数以及城市间的路径,完成图的创建。 (2)查找模块:输入查找的一对城市,进行查找

文档评论(0)

bigone123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档