Dijkstra 算法的思想
Dijkstra 算法说白了就是一个求最短路径的算法,用于从一个指定的点到其余各个点的最短路径,所以也叫做“单源最短路径”
例如求0到4的最短路径
看似好复杂好复杂,其实我们完全可以逐个击破。
首先我们需要一个列表来存储该节点是否被访问了,对该列表进行初始化,全都为false。
然后我们还需要一个列表,用来记录从起点到“终”点的距离。(这里我们要将它看成无穷大)如图:
之后呢还需要最后一个列表,这个列表用来存储上一个节点,用-1来表示不存在这条边。如图
然后我们就可以开始了
从初始节点0开始,我们规定0节点到0节点的距离为0,然后寻找和它直接相连的两条边,并记录列表进行更新。like this
<