第十二章图辨析.pptVIP

  • 0
  • 0
  • 约5.65千字
  • 约 42页
  • 2017-06-16 发布于湖北
  • 举报
Dijkstra算法步骤 初始时令 S={V0},T={其余顶点},T中顶点对应的距离值 若存在V0,Vi,距离值为V0,Vi弧上的权值 若不存在V0,Vi,距离值为? 从T中选取一个其距离值为最小的顶点W,加入S 对T中顶点的距离值进行修改:若加进W作中间顶点,从V0到Vi的距离值比不加W的路径要短,则修改此距离值 重复上述步骤,直到S中包含所有顶点,即S=V为止 迭代 S u dist[2] dist[3] dist[4] dist[5] 初始 {1} - 10 ? 30 100 1 {1,2} 2 10 60 30 100 2 {1,2,4} 4 10 50 30 90 3 {1,2,4,3} 3 10 50 30 60 4 {1,2,4,3,5} 5 10 50 30 60 示例 12.7.3 所有顶点对之间的短路径算法 方法一: 每次以一个顶点为源点,重复执行Dijkstra算法n次 T(n)=O(n3) 方法二: Floyd算法:逐个顶点试探法 求最短路径步骤 初始时设置一个n阶方阵,令其对角线元素为0,若存在弧Vi,Vj,则对应元素为权值;否则为? 逐步试着在原直接路径中增加中间顶点,若加入中间点后路径变短,则修改之;否则,维持原值 所有顶点试探完毕,算法结束 A C B 2 6 4 3 11 0 4 11 6 0 2 3

文档评论(0)

1亿VIP精品文档

相关文档