📜  表示最短路径

📅  最后修改于: 2020-12-10 06:57:42             🧑  作者: Mango

代表:最短路径

给定一个图G =(V,E),我们为每个顶点v∈V维持一个前驱体π[v],它可以是另一个顶点或NIL。但是,在执行最短路径算法期间,π值不必表示最短路径。像在广度优先搜索中一样,我们将对值π引起的前一子图G n =(V n ,E n)感兴趣。再一次,我们将顶点集定义为具有非NIL前身的G顶点集,再加上源s:

的有向边集是该组由以顶点Π值引起的边缘的:

根于s的最短路径树是有向子图G =(V'E'),其中V'∈V和E'∈E,使得

  • V'是G中从s可到达的一组顶点
  • G'形成根为s的根树,并且
  • 对于所有v∈V',G中从s到v的唯一简单路径是G中从s到v的最短路径。

最短路径不是天生唯一的,也不是最短路径树。

最短路径的属性:

1.最佳子结构属性:最短路径的所有子路径都是最短路径。

令P 1为最短s-v路径的x-y子路径。令P 2为任何x-y路径。则P 1的成本≤P 2的成本,否则P不是最短的s-v路径。

2.三角不等式:令d(v,w)为从v到w的最短路径的长度。然后,
d(v,w)≤d(v,x)+ d(x,w)

3.上限属性:对于所有顶点v∈V,我们始终具有d [v]≥δ(s,v),并且一旦d [v]得出值δ(s,v),它就不会改变。

4.无路径性质:如果没有从s到v的路径,则我们通常有d [v] =δ(s,v)=∞。

5.收敛性:如果s-> u-> v是G在某些u上的最短路径,则v∈V,并且如果d [u] =δ(s,u)在松弛边(u, v),则之后的所有时间d [v] =δ(s,v)。