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