相关疑难解决方法(0)

为什么Dijkstra的算法使用堆(优先级队列)?

我尝试在不使用优先级队列(Heap)的情况下在循环加权图上使用Djikstra算法,并且它有效.

然后我搜索谷歌"为什么我们需要一个优先级队列来实现这个?" 作为搜索的结果,我浏览了维基百科,在那里我了解到原始实现不使用优先级队列并在O(| V | 2)中运行,即V平方时间.

现在,如果我们只删除优先级队列并使用正常队列,则运行时间是线性的,即O(V + E).

请有人建议那么为什么我们需要优先队列?

dijkstra priority-queue graph-algorithm

14
推荐指数
2
解决办法
1万
查看次数

标签 统计

dijkstra ×1

graph-algorithm ×1

priority-queue ×1