图——单源最短路径(一)基本概念
1. 路径的权重
给定一个带权重的有向图G=(V, E),假设(u, w)是G中的一条边,则其权重为w(u, w)。假设图中有一条路径 p = < v 0 , v 1 , v 2 , . . . , v k > p = <v_0, v_1, v_2, ... , v_k> p=<v0,v1,v2,...,vk>,则该路径的权重即为构成该路径的所有边的权重之和: w ( p ) = ∑ i = 0 k − 1 w ( v i , v i + 1 ) w(p) = \sum\limits_{i=0}^{k-1}w(v_i, v_{i+1}) w(p)=i=0∑k−1w(vi,vi+1) 。
2. 最短路径
在一个加权有向图中,在所有从顶点S到顶点T的路径中,路径的权重最小的那条路径,称为从顶点S到顶点T的最短路径。
3. 单源最短路径问题
给定一个图G=(V, E),单源最短路径问题就是找到从给定源
S
∈
V
S\in V
S∈V到每个结点
U
∈
V
U\in V
U∈V 的最短路径。单源最短路径问题可以用来解决许多其他的问题,其变体问题包括:
(1)单结点对最短路径问题
找到从给定结点u到给定结点v的最短路径。如果解决了单个结点u的单源最短路径问题(找到了从节点u到其他所有节点的最短路径),也就解决了这个问题。
(2)单目的地最短路径问题
找到从每个结点
u
∈
V
u\in V
u∈V到给定节点w的最短路径。如果将图的每条边的方向反过来,这个问题就等价于求结点u的单源最短路径问题。
(3)所有结点对最短路径问题
对于图中的每对结点u和v,求出从结点u到结点v的最短路径。这个问题可以通过对每对结点求单源最短路径而解决。