Q:对于遍历图寻找最短路径,BFS和迪杰特斯拉之间有什么异同?
BFS:BFS找最短路径,只能寻找不带权的无向图的最短路径。因为权值相同,通过队列,最先到达终点的就是最短路径。
迪杰特斯拉:可以寻找有向(无向)有权图中的给定起点到任意其他节点的最短路径。迪杰特斯拉中已被访问过的节点(S)一定是最短节点。
ps:之前没搞懂迪杰特斯拉S中的一定是最短的,故觉得一定要访问全部节点才能找到最短路径,是错误的。
对于寻找最短路径的优化:可以在寻找到终点就返回。
Q:对于遍历图寻找最短路径,BFS和迪杰特斯拉之间有什么异同?
BFS:BFS找最短路径,只能寻找不带权的无向图的最短路径。因为权值相同,通过队列,最先到达终点的就是最短路径。
迪杰特斯拉:可以寻找有向(无向)有权图中的给定起点到任意其他节点的最短路径。迪杰特斯拉中已被访问过的节点(S)一定是最短节点。
ps:之前没搞懂迪杰特斯拉S中的一定是最短的,故觉得一定要访问全部节点才能找到最短路径,是错误的。
对于寻找最短路径的优化:可以在寻找到终点就返回。