迪杰斯特拉新理解
因为看了之前的博客实现在线路中发现了问题,解决后总结一下此算法的全部流程。
寻找一个点去其他所有点的最短路径:
1、寻找起点相关联所有点,更新到集合中,比较出最短点(标记起点到此点为最短路径)
2、从标记的最短路径终点出发,寻找与其相关联的点,并更新。
3、比较集合中的所有线路(不包括已标记的最短路径),找到最短的一条后标记。
4、如果遇到相同终点的线路则比较两条路那条最短,择优替换。
4、然后重复2、3、步骤,当遇到一个点相连所有点都是最短路径时,执行完毕。
之前遇到的问题时没有执行第三步,在遇到圆环路径时线路从一个方向出发导致最短路径不准。