合肥工业大学离散数实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
合肥工业大学离散数实验报告

实验一:最短路径算法实现 姓 名: 李亚鸣 学 号: 2014211590 班 级: 计算机科学与技术14-1班 实验地点: 三号实验楼1号机房 实验时间: 2015年9月26日 实验目的和要求 实验目的:深刻理解图论中两点之间最短路径求解的相关算法;并借助提供的实验平台完成编码,实现最短路径输出 ************* ************* 理解Dijkstra算法实现最短路径算法,并利用所提供的MFC代码图形化显示。 初步了解部分基础MFC知识。 实验要求: (1)理解Dijkstra算法并编码实现图中某一顶点到其它顶点最短路径的求解; (2)理解Floyd-Warshall算法并编码实现图中任意两顶点之间最短路径的求解; (3)可以写对编程的要求 (4)在待完善的MFC代码上补充Dijkstra算法的核心部分,并在图形上实现。 实验目的和要求必须在此基础上修改或补充,否则实验报告重写!!! 实验环境和工具 VisualC++6.0 实验结果 算法流程图 程序核心代码 template typename Type void GraphType::ChangeWeight(int u,int v) { //请写出实现代码 int temp=D[u]+arcs[u][v]; if(tempD[v]) { D[v]=temp; pre[v]=u; } } template typename Type void GraphType::ShortestPath_DIJ() { init_source(verfrom) ; //对每个顶点的路径长度和前驱顶点初始化 int i,j,u,min;// u是当前循环比较得出的拟加入集合S的顶点,经过循环比较得出的最短路径D[j]存入min bool S[MAX];//S[i]值为false代表i顶点还没被并入集合S for(i=1;i=vexnum;i++) //初始化 S[i]=false; //顶点i还没有被并入S集合 for(i=1;i=vexnum;i++) { //请写出后续代码 D[i]=arcs[v0][i]; if(D[i]==INFINITY) pre[i]=0; else pre[i]=v0; } D[v0]=0; S[v0]=true; for(i=2;i=vexnum;i++) { int temp=INFINITY; u=v0; for(j=1;j=vexnum;j++) { if(!S[j]D[j]temp) { u=j; temp=D[j]; } } S[u]=true; for(j=1;j=vexnum;j++) { if(!S[j]arcs[u][j]INFINITY) ChangeWeight(u,j); } } } 运行结果 运行结果分析 思考题(可选) 当修改循环变量从0到(顶点个数 - 1)时,程序运行结果是否正确?试分析原因。 实验心得 初步了解变量名以后,准备开始写核心部分的代码,但是具体的Dijkstra算法的代码还是有些难以实现,参考了书籍的思想,有了思路,开始动手写代码,Dijstra的核心还是贪心,所以每次要根据已经加入S集合的所有点,找出他们相邻的最短的一条边,最后的图形化实现并不是自己实现的,只是了解了基本的操作方式。总体来说,通过这次实验也更加熟悉了Dijstra算法的核心思想和具体的实现。 the principle of simplified EIA of construction projects in the region. In terms of land, linked to the implementation of urban and rural construction land increase and decrease, replacement indicators for priority areas project. Charges, into the projects of water, electricity, administrative charges and preferential pol

文档评论(0)

mi80868668 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档