版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构课程设计北京至其他省会城市的最短路径班级:计科2014-04班姓名:宋思雨学号:2014112024 日期:2016年6月21日一课程设计任务描述:建立教材图7.33(中国省会城市交通网)的数据文件,构建邻接矩阵存储结构。以北京为始点,求出北京到其他城市的最短路径。结果输出到字符文件保存。二算法要点描述使用迪杰斯特拉算法求最短路径。按路径长度递增次序产生算法:把顶点集合V分成两组:(1)S:已求出的顶点的集合(初始时只含有源点V0)(2)V-S=T:尚未确定的顶点集合将T中顶点按递增的次序加入到S中,保证:(1)从源点V0到S中其他各顶点的长度都不大于从V0到T中任何顶点的最短路径长度
2、(2)每个顶点对应一个距离值S中顶点:从V0到此顶点的长度T中顶点:从V0到此顶点的只包括S中顶点作中间顶点的最短路径长度依据:可以证明V0到T中顶点Vk的,或是从V0到Vk的直接路径的权值;或是从V0经S中顶点到Vk的路径权值之和(反证法可证)求最短路径步骤算法步骤如下:G=V,E1. 初始时令 S=V0,T=V-S=其余顶点,T中顶点对应的距离值若存在,d(V0,Vi)为弧上的权值若不存在,d(V0,Vi)为2. 从T中选取一个与S中顶点有关联边且权值最小的顶点W,加入到S中3. 对其余T中顶点的距离值进行修改:若加进W作中间顶点,从V0到Vi的距离值缩短,则修改此距离值重复上述步骤2、3
3、,直到S中包含所有顶点,即W=Vi为止三源程序代码#include stdafx.h#include #include #include #include using namespace std;typedef enum UDG,DGNetTp;#define MAX_N 30/定义数组最大值#define INFINITY 999999/定义无穷大typedef struct int n,e;NetTp tp;int wMAX_NMAX_N;ALNet;int distMAX_N;vector pathMAX_N;char cityMAX_NMAX_N=北京,天津,郑州,呼和浩特,沈阳,徐州
4、,武汉,西安,兰州,乌鲁木齐,西宁,成都,株州,上海,大连,长春,哈尔滨,南昌,广州,柳州,贵阳,昆明,南宁,深圳,福州;void SP(ALNet &G,int k,int dist,vector path)/迪杰斯特拉算法int i,j,m;set S;for(i=0;iG.n;i+)/初始化各终点距离始点路径长度disti=G.wki;if(disti!=INFINITY)pathi.push_back(k);pathi.push_back(i);for(m=0;mG.n-1;m+)/按长度递增次序生成各终点最短路径for(j=0;jG.n;j+)if(j!=k & S.find(j)=
5、S.end()break;/判断j点是否已经计算过 最短路径for(i=j+1;iG.n;i+)if(i!=k & distidistj & S.find(i)=S.end() j=i;S.insert(j);for(i=0;id)disti=d;pathi=pathj;pathi.push_back(i);void create(ALNet &G)/初始化邻接矩阵fstream f1(data.txt);/打开文件f1G.nG.e;/写入顶点数n和边数eint i=0,j;while(iG.n)/初始化各边权重为无穷大j=0;while(jij;f1G.wij;G.wji=G.wij;i=0
6、;int main(int argc, char* argv)ALNet G;int i=1;int j=0;G.tp=UDG;/初始化为无向图create(G);/初始化无向网SP(G,j,dist,path);/迪杰斯特拉算法fstream file(out.txt);/打开要输出的文件while(i25)/输出最短路径到指定文件中filecity0到cityi的最短路径是:;for(j=0;i!=pathij;j+)filecitypathij-;filecityi;fileendl;i+;return 0;四输出结果输入:输出:五问题与讨论1.迪杰斯特拉算法的计算各终点最短路径不包括始点本身,怎样修改加入?答:修改i!=k; 循环由n-1次改为n次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 3883.1-2014手持式、可移式电动工具和园林工具的安全 第1部分:通 用要求》
- 深度解析(2026)《GBT 3286.8-2014石灰石及白云石化学分析方法 第8部分:灼烧减量的测定 重量法》
- 《JBT 10740.1-2007额定电压6kV(Um=7.2kV)到35kV(Um=40.5kV)挤包绝缘电力电缆 冷收缩式附件 第1部分:终端》专题研究报告-2
- 2026年初中七年级上册能力综合评估练习卷含答案
- 2026高一地理上册第一二单元第一次月考含答案及解析
- 《JBT 10479-2004 单张纸输纸机》专题研究报告
- 豆包排名优化公司:2026年AI搜索流量红利下的GEO服务商选择指南
- 生活垃圾分类收运设施更新改造项目可行性研究报告模板-立项拿地
- 南开中学校2025-2026学年高一英语上学期1月期末试题含解析
- 2026年低压电工实操业务知识考试卷及答案(六)
- JT-T-1209-2018公路工程SBS改性沥青加工设备技术要求
- JBT 9229-2024 剪叉式升降工作平台(正式版)
- 心脏介入手术谈话技巧
- 腾讯会议录制培训课件
- 小学三年级心理健康课《做情绪的主人》完整课件
- 法律顾问服务投标方案(完整技术标)
- 肿瘤化疗药物常见的不良反应及护理措施课件
- 《电气控制与PLC》考试复习题库(含答案)
- 学位外语(本23春)形成性考核5试题答案
- 中央企业合规管理系列指南
- 城市规划原理 课件 10 城乡区域规划
评论
0/150
提交评论