我试图在Dijkstra算法的C中理解这个实现,同时修改它,以便只找到2个特定节点(源和目的地)之间的最短路径.
但是,我不确切知道该做什么.我看到它的方式,没有什么可做的,我似乎无法改变d[]或prev[]导致这些数组聚合一些重要数据用于最短路径计算.
我唯一能想到的是在找到路径时停止算法,也就是说,mini = destination当它被标记为已访问时,打破循环.
还有什么我可以做的让它变得更好或足够吗?
编辑:
虽然我很欣赏给我的建议,但人们仍未能完全回答我的质疑.我想知道的是如何优化算法以仅搜索2个节点之间的最短路径.到目前为止,我对所有其他一般优化都不感兴趣.我所说的是,在找到从节点X到所有其他节点的所有最短路径的算法中,如何优化它以仅搜索特定路径?
PS:我刚注意到for循环开始1直到<=,为什么它不能开始0直到<?