📜  最短路径属性

📅  最后修改于: 2021-10-25 03:07:34             🧑  作者: Mango

最短路径问题是在图中找到两个顶点(或节点)之间的路径的问题,使得其组成边的权重之和最小。图的任意两个节点之间的最短路径可以使用许多算法来建立,例如 Dijkstra 算法、Bellman-Ford 算法、Floyd Warshall 算法。有一些寻找最短路径的特性,基于这些特性,寻找最短路径的算法是有效的:

  1. 最优子结构属性
    • 最短路径的所有子路径也必须是最短路径。
    • 如果两个节点 UV之间存在最短路径长度,则贪婪地选择VS之间长度最小的边将给出 US之间的最短路径长度。
    • 上面列出的所有算法都基于此属性工作。
    • 例如,设P 1是图G的最短路径(S →X →Y → V)从 (X → Y)的子路径。并让P 2是图G 中的任何其他路径(X Y) 。然后,P 1成本必须小于或等于P 2成本。否则,路径(S →X →Y → V)将不是节点 SV之间的最短路径。

    图 G

  2. 三角不等式
    • d(a, b)是图G 1 中从 ab的最短路径的长度。然后,
      • d(a, b) ≤ d(a, x) + d(x, b)

    图 G 1

如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程学生竞争性编程现场课程。