付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《生活与哲学》期末复习课件
- 2026 年国庆节长假出游安全须知课件
- 2026酒店健身房设备选型与会员健康管理服务整合报告
- 《简单的能的转化》课件
- 《苏轼行香子》课件
- 国际物流课件第七章国际集装箱与多式联运物流
- 上海航空空乘客舱应急撤离实操理论模拟试卷及答案
- 2025-2026学年高中地理讲评课教学设计
- 2026天津理工大学第四批公开招聘博士教师考试备考试题及答案解析
- 昌江区学校公开招聘合同制教师补充考试备考试题及答案解析
- 色彩二级考级培训课件
- 重金属环境安全隐患排查评估整治技术指南(试行)
- 食堂托管协议书范本
- 全国会计领军(后备)人才(企业类)选拔考试真题回忆
- 超星尔雅学习通《大学生国家安全教育(中国人民警察大学)》章节测试附答案
- GB/T 25383-2025风能发电系统风力发电机组风轮叶片
- DB65T 8003-2023 建设工程电子文件与电子档案管理标准
- 喷涂考试试题及答案
- 垃圾分类与回收课件
- 皮肤科院感培训
- 《腕关节X线解剖》课件
评论
0/150
提交评论