如何在C语言中找到最短路径

时间:2015-11-28 21:24:39

标签: c algorithm data-structures dijkstra shortest-path

我正在制作的项目需要首先为任何拥有多个城市的国家制作地图,然后用户将被要求选择任意两个城市,程序将突出显示它们之间的最短路径。

我想知道如何找到最短的路径。例如,我有4个城市A,B,C和D.从城市A到城市D是20,它直接连接。此外,还有另一条从A市到D市的路径,但如果A市离A - >,则该路径最短。 C - > D.

我希望算法能像之前的例子一样找到。还有,Dijkstra算法可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

Floyd-Warshall算法是一种用于在加权图中查找最短路径的算法。配对:https://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm

Floyd-Warshall C示例: https://github.com/sysilion/ShortestPath/blob/master/src/main.c