一、用途
1.广度优先搜索用于计算非加权图中的最短路径
2.狄克斯特拉算法用于计算加权图中的最短路径(不能带有负权边)
备注:当图的每条边都带有一个数字时,这些数字成为权重。带权重的图称为加权图,反之称为非加权图。
二、实现步骤
1.从起点开始。
2.找到该点最便宜的邻居节点。
3.若该节点的开销优于之前记录的开销,则更新该节点的开销及该节点的父节点。
4.找到第二便宜的节点,重复第三步。以此类推,直到找遍起点的所有邻居。
5.找到起点开销最小的邻居。
6.从该节点出发,重复第二步。
7.找到起点的邻居中开销第二大的节点,重复第六步,以此类推,直到找遍地点的邻居。
8.从起点的邻居的邻居中,找到开销最小的节点,以此类推,直到找遍图中所有的层,即所有的点。
注意:
1.每一层都要从最优的节点开始,然后是第二优的节点,类推,才能确保该层最后的结果每个节点都是它的最优。
2.就算找到了一条到达终点的路径,也要继续遍历剩下的点,因为还可能有更优的路径。
三、具体实现
(困了准备睡觉。。。后面补上)