我正在尝试实现Dijkstra 的算法,以使用Fibonacci Heap和图的邻接表表示来查找节点之间的最短路径。根据我知道的算法,我们必须在堆中找到最小节点,然后遍历它的所有邻居并更新它们的距离。但是要获得邻居的当前距离(存储在堆中的每个节点中),我必须从堆中找到那个特定的节点。“查找”操作需要 O(N) 时间,其中 N 是斐波那契堆中的节点数。那么我的算法是正确的还是我错过了什么?任何帮助将不胜感激。
我正在尝试实现Dijkstra 的算法,以使用Fibonacci Heap和图的邻接表表示来查找节点之间的最短路径。根据我知道的算法,我们必须在堆中找到最小节点,然后遍历它的所有邻居并更新它们的距离。但是要获得邻居的当前距离(存储在堆中的每个节点中),我必须从堆中找到那个特定的节点。“查找”操作需要 O(N) 时间,其中 N 是斐波那契堆中的节点数。那么我的算法是正确的还是我错过了什么?任何帮助将不胜感激。