数据结构 第十章 最短路径.pptVIP

  • 9
  • 0
  • 约7.02千字
  • 约 27页
  • 2016-12-20 发布于重庆
  • 举报
电子系2000级 数据结构 Data Structure With C or C++ 最短路径 两点间边数最少的路径 可用作交通自动咨询系统 两点间边权重的和最小的路径 用来计算两城市间路程最短, 时间最快,费用最省的路径 两点A,B之间边数最少的路径 从A点出发,对图做广度优先遍历。 从根A到B的路径就是边数最少的路径,也就是中转次数最少的路径。 单源点到其余各点权重和最小的路径 从v0到其余各点的最短路径 迪克斯特拉Dijkstra算法 按路径长度递增逐步产生最短路径 设集合S存放已经求出的最短路径的终点,开始,S中只有一个源点v0,以后每求得的一条最短路径就将终点加入S,直到全部顶点都加入到S. 定义一个数组 D[n]; n是图的顶点数。 D[i]=从源点v0到顶点vi最短路经的长度。 第一步 取D[i]为v0到vi的边的权值,无边时取值∞, 取一个最小值 D[j1]=min{D[i], in} D[j1]是v0到vj1的最短路径的长度。 第一步 迪克斯特拉Dijkstra算法 已经有L={v0,v2} ,下一条最短路径(终点vj2),或者是(v0 vj2), 或者是(v0, vj1,vj2) 。 对每个顶点vi, 比较D[i]与D[j1]+arc[

文档评论(0)

1亿VIP精品文档

相关文档