码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构--图(中)--最短路径问题

时间:2015-08-28 10:47:25      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

最短路径问题

最短路径:  边上的权重就是距离。

最便宜:   权重是价格。

最快的路径: 通过结点最少

最短路径问题的抽象

在网络中,求两个不通顶点之间的所有路径中,边的权值之和最小的那一条路径

  这条路径就是两点之间的最短路径

  第一个顶点为源点

  最后一个顶点为终点

问题分类

  • 单源最短路径问题:从某固定源点出发,求其到所有其他顶点的最短路径。
    • (有向)无权图
    • (有向)有权图
  • 多源最短路径问题:求任意两顶点间的最短路径。

单源最短路径在每个节点上用一遍就是多源最短路径。

单源无权图 最短路径问题

  思路是:按照递增(非递减)的顺序找到到各个顶点的最短路。

技术分享

单源有权图 最短路径问题

  无权图可以看成是特殊的有全图,只不过每条权重都是1

 技术分享

Dijkstra算法

  • 令S={源点s+已经确定了最短路径的顶点vi}   顶点的集合
  • 任一未收录的顶点V,定义dist[v]s到v最短路径长度,但该路径经过S中的顶点,即路径{s->(vi ε S)->v }的最小长度。
  • 若路径是按照递增的顺序生成的,则
    • 真正的最短路必须只经过S中的顶点(为什么?)
    • 每次从未收录的顶点中选一个dist最小的收录(贪心)
    • 增加一个V进入S,可能影响另外一个W的dist值。

技术分享

  技术分享

 

数据结构--图(中)--最短路径问题

标签:

原文地址:http://www.cnblogs.com/zrui513/p/4765687.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!