【问题标题】:How to get node-to-node shortest path with Dijkstra ? (with adjacency list and specify start-node and end-node)如何使用 Dijkstra 获得节点到节点的最短路径? (使用邻接列表并指定起始节点和结束节点)
【发布时间】:2022-10-16 09:45:47
【问题描述】:

我一直在使用 Dijkstra 进行一个项目。

我想用我自己的图表测试 Dijkstra,在这种情况下,我使用的是从 Geeksforgeeks 获取的实现:

https://www.geeksforgeeks.org/dijkstras-algorithm-for-adjacency-list-representation-greedy-algo-8/

输出

Vertex   Distance from Source
0          0
1          4
2          12
3          19
4          21
5          11
6          9
7          8
8          14

在这种情况下,这个实现给了我距离的值,但我想获得节点到节点的最短路径并指定起始节点和结束节点。

【问题讨论】:

    标签: python dijkstra


    【解决方案1】:

    我建议的一种简单方法是保留一个额外的数据结构来存储两个顶点之间关系的父级。因此,基本上每当您通过边 (u,v) 更新未确定顶点 v 的暂定距离时(ps:它表示迭代中的当前顶点是 u),您存储/更新源可能通过 u 到达 v 的这种关系。如果您稍后通过边 (w,v) 找到到 v 的更短距离,则必须更新此关系。因此,在您确定目标顶点后,您可以使用此数据结构来检索完整节点到节点的最短路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-08
      • 1970-01-01
      • 2020-08-02
      • 2019-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多