C编程语言,最短路径

标签 c algorithm shortest-path

我正在编写代码来查找两点之间的最短距离。到目前为止,我的代码运行良好。我的意思是它找到了他们应该通过的距离和路径。我需要打印这些信息,但我应该做一个打印功能。它的工作方式是这样的:例如初始点是 4,最终点是 13。

我应该想出一个算法来检查它们的中间点。假设在 4 和 13 之间有一个点:7

4--7--13 现在我需要检查它们之间的每个点,例如:

4--6--7--9--13 更具体地说,它将检查 4-6 和 6-7 以及 7-9 和 9-13 之间是否有一个点。因此,在下一次迭代中,它可能会形成另一个列表,例如:

4--2--6--7--5--9--17--13 现在假设它们之间不会有任何中间值。这就是我应该打印的内容。如果您能给我任何帮助和建议,我将不胜感激

最佳答案

Warshall-Floyd 算法(由 OP 使用)有一个版本,除了可以确定图形节点之间的距离之外,还可以确定路径:

Floyd-Warshall algorithm with path-reconstruction

但是,必须注意的是,这并不是解决 shortest-path problem 问题的最佳算法。 .

关于C编程语言,最短路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10985232/

相关文章:

c - C 编程现代方法建议第二版

mysql - 如何让 mysql 在没有匹配的行时在更新时抛出错误?

无法理解结构初始化

c - 如果第一个条件为真则停止测试

c - 我如何修改 Nodo C?

c# - 如果仅删除一条边,Dijkstra 最短路径快速重新计算

c++ - 通过矩阵中 N 个检查点的两点之间的最短路径

algorithm - 最大 XOR 值比仅使用 XOR 更快

algorithm - 写一个高效的方法

algorithm - 如何找到具有 k 个负加权边的最短路径?