下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验单源点最短路径一、实验目的1、深入理解贪心策略的基本思想。2、能正确采用贪心策略设计相应的算法,解决实际问题。3、掌握贪心算法时间空间复杂度分析,以及问题复杂性分析方法二、实验内容单源最短路径三、设计分析单源点最短路径Dijkstra 算法是解单源点最短路径的一个贪心算法。其基本思想是,设置 顶点集合S并不断地做贪心选择来扩充这个集合。一个顶点属于集合当且仅当 从源点到该顶点的最短路径长度已知。初始时,S中仅含有源。设u是G的某一个顶点,把从源到u且中间只经过S中顶点的路称为从源到u的特殊路径, 并用数组dist记录当前每个顶点所对应的最短路径特殊长度。Dijkstra 算法每次从V-S中
2、取出具有最短特殊路长度的顶点 u,将u添加到S中,同时对数 组dist做必要的修改。一旦S包括了所有V中顶点,dist就记录了从源到所 有其它顶点之间的最短路径长度。存在一个带权有向图。四、算法描述及程序#include "stdafx.h"#include "iostream” using namespace std;#define N 5#define MAX 1000int edge17 = 1, 1, 1,2, 3, 4. 4 );int edge27 = 2, 5, 4, 3, 5, 3, 5 ;int length7 = 10, 100, 30, 50
3、, 10, 20, 60 ;int cNN;template<class T>void Dijkstra(int n, int v, T dist, int prev)bool sMAX;for (int i = 1; i <= n; i+)disti = cvi;si = false;if (disti = MAX)previ = 0;elseprevi = v;)distv = 0;sv = true;for (int i = 1; i<n; i+)int temp = MAX;int u = v;for (int j = 1; j <= n; j+)int
4、temp = MAX;int u = v;for (int j = 1; j <= n; j+) if (!sj) && (distj<temp)u = j;temp = distj;)su = true;for (int j = 1; j <= n; j+)if (!sj) && (cuj < MAX) T newdist = distu + cuj; if (newdist < distj) distj = newdist;prevj = u;)int main()int v;for (int i = 1; i < N +
5、 1; i+)for (int j = 1; j < N + 1; j+) cij = MAX;)for (int i = 0; i < 7; i+)(int m = edge1i;int n = edge2i;int Length = lengthi;cmn = Length;)int distN + 1, prevN + 1;cout << endl << ”可通行的路径:"<< endl<<endl;for (int i = 1; i < N + 1; i+) (for (int j = 1; j < N
6、+ 1; j+)(if (cij < MAX) (cout << i << "-" << j <<'t' <<"距离为:"cout << cij << endl;)cout << "从"<< i << "无法到达其它顶点"<< endl << endl; )cout << endl << ”请输入源点:"cin >
7、;> v;Dijkstra(N, v, dist, prev);cout << ”最短路径为:"<< endl << endl;for (int i = 1; i < N + 1; i+) (if (disti<MAX&&disti>0)(cout << v << "->" << i << "的最短路径为"<<i;for (int n = previ; n != 0;) (cout << &q
8、uot;<-" << n;n = prevn;)cout << endl << "长度为"<< disti << endl << endl;) elsecout << v << "-" << i << "无最短路径"<<endl<<endl;)return 0;)五、测试与分析1d可通行的路径I12距离为t 101-4距离为 301-5 距离为:100 从1无法到西它顶点2-3 距离为;50 从2无法到演它顶点35 距离为:10 以3无法到演它顶点43 距离为:2045 距离为:60 M无法到送箕它顶点 从5无法到达其它顶点1 - 1元最短路径 >22的最短路径为2<一1 长度为10Bl - -M的最短路径为3<4<1 长度为5。1 一 M的最姮路径为4< 一 1长度为加1 -5的最短路径为5 <3 < - - 4<一 长度为6。M按任意键继续.-.六、实验总结与体会1 .用算法中数组prev记录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届高考地理一轮复习 课件 世界的气候
- 3.2 工业区位因素及其变化课件2024-2025学年高中地理人教版(2019)必修第二册
- 采购技术规范书-回路改造
- 半硬质聚乙烯泡沫行业发展前景预测及投资风险分析报告模板
- 污水处理厂配套管网工程投标施工组织设计
- 部编版小学语文六年级上册课堂实录汇编全册
- 2019年教科版小学科学三年级上册教案全册
- 老年服务与管理专业人才培养方案
- 第三单元测试卷(单元测试)-2024-2025学年六年级上册统编版语文
- 《章鱼先生买裤子》幼儿园小学少儿美术教育绘画课件创意教程教案
- 名企参考:海天味业组织结构及部门职责
- Unit 4 project 教案-高中英语译林牛津版(2020)必修第一册
- 2023年深圳市燃气集团股份有限公司校园招聘笔试题库及答案解析
- 2022版义务教育(英语)课程标准(含2022年新增和修订部分)
- 轨道电路基本原理及工务部门防止轨道电路联电措施
- 答题卡规范课件
- (新版)水利工程高级工程师考试参考题库大全-下(判断题部分)
- 简约表格个人简历模板-05
- 018-平刃剪切机剪切力计算
- 新冠核酸环境采样技术要点与常见问题PPT学习培训课件
- 160+张幼儿儿童宝贝填色涂色填色绘画描色图案大全
评论
0/150
提交评论