【问题标题】:finding the shortest path between source and destination in graph using dijkstra's algorithm使用 dijkstra 算法在图中找到源和目标之间的最短路径
【发布时间】:2018-01-11 06:42:36
【问题描述】:

我想编写一个算法,在有向和无向图中找到两个特定顶点(源和目标)之间的最短路径。

我知道 dijkstra 算法,它用于查找所有最短路径图。但是你会修改这个算法来只找到两个顶点之间的最短路径吗?

【问题讨论】:

  • 您的问题的答案是:不,您不会修改它。从队列中拉出源节点后,您只需停止执行。

标签: algorithm graph-algorithm dijkstra path-finding


【解决方案1】:

只使用了A* 算法,没有启发式信息。这将为您提供从 Dijkstra 获得的源顶点和目标顶点之间相同的最短路径(Dijkstra 是 H = 0 时 A* 的特定情况)。

关于算法在 C 中的实现,网上有大量的实现:onetwothree

【讨论】:

  • 但该算法为我提供了图中所有顶点之间的所有最短路径。应该如何修改?
  • 不,A* 将在找到从源顶点到目标顶点的最短路径时停止。只需将它们连同图表和遍历每对顶点的成本一起提供即可。
猜你喜欢
  • 1970-01-01
  • 2019-02-20
  • 2016-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多