Dijkstra 算法需要什么样的图? C++
What kind of graph I need for Dijkstra's algorithm? C++
我想学习更多关于图和 Dijkstra 算法的知识,所以我有一个随机生成加权无向图的函数,保存在这样的文件中:
numbers_of_vertices number_of_nodes
node_a node_b distance_from_a_to_b
etc.
然后我运行Dijkstra's输出节点0到所有其他节点的距离,但有时节点0到其他节点的距离为0,这意味着节点0没有连接到那个节点?
另外我还有一个问题,Dijkstra 的作品是什么样的图表?>br>
感谢您的帮助!
Dijkstra 算法是 BFS 遍历的变体。不同的是,它每次都利用一个最小堆遍历到最近的节点。
随机生成加权无向图的函数不应创建 node_a 和 node_b 距离为 0 的节点对。这意味着节点位于同一位置 -因此,无需遍历。
Dijkstra 算法适用于任何具有开始和结束条件的加权图(只有正权重)。
这是一个解释算法的 10 分钟视频:
https://www.youtube.com/watch?v=pVfj6mxhdMw
我想学习更多关于图和 Dijkstra 算法的知识,所以我有一个随机生成加权无向图的函数,保存在这样的文件中:
numbers_of_vertices number_of_nodes
node_a node_b distance_from_a_to_b
etc.
然后我运行Dijkstra's输出节点0到所有其他节点的距离,但有时节点0到其他节点的距离为0,这意味着节点0没有连接到那个节点?
另外我还有一个问题,Dijkstra 的作品是什么样的图表?>br>
感谢您的帮助!
Dijkstra 算法是 BFS 遍历的变体。不同的是,它每次都利用一个最小堆遍历到最近的节点。
随机生成加权无向图的函数不应创建 node_a 和 node_b 距离为 0 的节点对。这意味着节点位于同一位置 -因此,无需遍历。
Dijkstra 算法适用于任何具有开始和结束条件的加权图(只有正权重)。
这是一个解释算法的 10 分钟视频: https://www.youtube.com/watch?v=pVfj6mxhdMw