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