单源最短路径(贪心法)实验报告.docxVIP

  • 36
  • 0
  • 约2.54千字
  • 约 5页
  • 2019-07-03 发布于浙江
  • 举报
算法分析与设计实验报告 第 5 次实验 姓名 学号 班级 时间 12.12下午 地点 四合院 实验名称 贪心法求最短路径 实验目的 通过上机实验,掌握贪心算法的思想,利用 Dijkstra 算法求解最短路 径并实现。 实验原理 使用贪心法求出给定图各点的最短路径,并计算算法的执行时间,分析 算法的有效性。 已知一个有向网络 G=(V,E)和源点 V1,如上所示,求出从 源点出发到图中其余顶点的最短路径。 实验步骤 1 用邻接矩阵表示有向图,并进行初始化,同时选择源点; 2 选取候选集中距离最短的顶点,把其加入终点集合中; 3 以该顶点为新考虑的中间顶点,修改候选集中各顶点距离,若经过该点 后,各点到达源点距离比原来距离短,则修改距离; 4 重复以上 2、3 步,直到所有候选集点都被加入到终点集中。 关键代码 void Dijkstra(int n,int v,int dist[],int prev[]){ bool s[maxint]; for(int i=1;i=n;i++){ dist[i]=c[v][i]; s[i]=false; if(dist[i]==maxint) prev[i]=0; else prev[i]=v; } //找到第一个可行源点 s[]标志,记录prev[]前一个点 dist[v]=0; s[v]=true; fo

文档评论(0)

1亿VIP精品文档

相关文档