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

上传人:飞****2 文档编号:51836204 上传时间:2022-10-20 格式:DOC 页数:6 大小:56KB
返回 下载 相关 举报
合肥工业大学离散数学实验报告.doc_第1页
第1页 / 共6页
合肥工业大学离散数学实验报告.doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《合肥工业大学离散数学实验报告.doc》由会员分享,可在线阅读,更多相关《合肥工业大学离散数学实验报告.doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、实验一:最短路径算法实现姓 名: 李亚鸣 学 号: 班 级: 计算机科学与技术14-1班 实验地点: 三号实验楼1号机房 实验时间: 2015年9月26日 1 实验目的和要求实验目的:深刻理解图论中两点之间最短路径求解的相关算法;并借助提供的实验平台完成编码,实现最短路径输出*理解Dijkstra算法实现最短路径算法,并利用所提供的MFC代码图形化显示。初步了解部分基础MFC知识。 实验要求:(1)理解Dijkstra算法并编码实现图中某一顶点到其它顶点最短路径的求解;(2)理解Floyd-Warshall算法并编码实现图中任意两顶点之间最短路径的求解;(3)可以写对编程的要求(4)在待完善的

2、MFC代码上补充Dijkstra算法的核心部分,并在图形上实现。实验目的和要求必须在此基础上修改或补充,否则实验报告重写!2 实验环境和工具VisualC+6.03 实验结果3.1 算法流程图3.2 程序核心代码 template void Graph:ChangeWeight(int u,int v) /请写出实现代码int temp=Du+arcsuv;if(tempDv)Dv=temp;prev=u;template void Graph:ShortestPath_DIJ() init_source(verfrom) ;/对每个顶点的路径长度和前驱顶点初始化int i,j,u,min;/

3、 u是当前循环比较得出的拟加入集合S的顶点,经过循环比较得出的最短路径Dj存入minbool SMAX;/Si值为false代表i顶点还没被并入集合Sfor(i=1;i=vexnum;i+)/初始化Si=false;/顶点i还没有被并入S集合for(i=1;i=vexnum;i+)/请写出后续代码Di=arcsv0i;if(Di=INFINITY)prei=0;else prei=v0;Dv0=0;Sv0=true;for(i=2;i=vexnum;i+)int temp=INFINITY;u=v0;for(j=1;j=vexnum;j+)if(!Sj&Djtemp)u=j;temp=Dj;S

4、u=true;for(j=1;j=vexnum;j+)if(!Sj&arcsujINFINITY)ChangeWeight(u,j);3.3 运行结果3.4 运行结果分析4 思考题(可选)当修改循环变量从0到(顶点个数 - 1)时,程序运行结果是否正确?试分析原因。5 实验心得初步了解变量名以后,准备开始写核心部分的代码,但是具体的Dijkstra算法的代码还是有些难以实现,参考了书籍的思想,有了思路,开始动手写代码,Dijstra的核心还是贪心,所以每次要根据已经加入S集合的所有点,找出他们相邻的最短的一条边,最后的图形化实现并不是自己实现的,只是了解了基本的操作方式。总体来说,通过这次实验也更加熟悉了Dijstra算法的核心思想和具体的实现。

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁