我正在撰写有关最短路径算法的论文,但有一点我不理解...
我已经制作了Dijkstra算法的可视化图形。 1)这个图是正确的吗?还是我做错了什么? 2)贝尔曼-福德算法会是什么样子?就我所知道的区别而言,“Bellman-ford:基本思想与Dijkstra's非常相似,但它选择所有相邻边缘,而不是选择最短距离相邻边缘。” 但是dijkstra也会检查所有顶点和所有边,不是吗?
我正在撰写有关最短路径算法的论文,但有一点我不理解...
我已经制作了Dijkstra算法的可视化图形。 1)这个图是正确的吗?还是我做错了什么? 2)贝尔曼-福德算法会是什么样子?就我所知道的区别而言,“Bellman-ford:基本思想与Dijkstra's非常相似,但它选择所有相邻边缘,而不是选择最短距离相邻边缘。” 但是dijkstra也会检查所有顶点和所有边,不是吗?
我也有同样的想法。
Dijkstra算法解决的是所有边都为非负权重的单源最短路径问题。它是一种贪心算法,与Prim算法相似。该算法从源顶点s开始,生成一棵树T,最终覆盖所有可从S到达的顶点。顶点按距离顺序添加到T中,即先S,然后是最靠近S的顶点,接下来是次近的,以此类推。