数据结构(四)new.docVIP

  • 36
  • 0
  • 约 24页
  • 2016-11-22 发布于江西
  • 举报
数据结构(四)new.doc

数据结构(四) 最短路径 最短路应用 关键路径 一 最短路径 一、概念 在带权图G=(V,E)中,从顶点Vi到Vj的路径长度定义为路径上各边的权值之和。 从顶点Vi到Vj可能有多条路径,其中路径长度最小的一条路径称为Vi到Vj的最短路径。 最短路树和最小生成树可以不一样。如下图(a)是最小生成树,图(b)是最短路树。 ijkstra算法 ijkstra算法ijkstra算法②经过n次如下步骤操作,最后得到v0到n个顶点的最短距离: A.选择一个未标记的点k并且dist[k]的值是最小的; B.标记点k; C.以k为中间点,修改源点v0到其他未标记点j的距离值 【Dijkstra算法 【dijkstra算法流程】: 第1步:初始化:for(i=1;i=n;i++)d[i]=0x7fffffff/2;d[v0]=0; 第2步:确定所有顶点的最短路径: for(i=1;i=n;i++) //分别确定每个顶点的最短路径 { 1.选择一个顶点k,使得s[k]=0且d[k]最小; 2.标记s[k]=1; 3.对每一条与k关联的边(k,j),如果S[j]=0则对这条边做松弛操作; } 算法结束:d[i]为s到i的最短距离; 【数据结构定义】: const int maxn=10000,maxx//无穷大 int d[maxn+1];

文档评论(0)

1亿VIP精品文档

相关文档