C创建有序优先级队列

时间:2012-04-10 13:24:16

标签: c algorithm data-structures priority-queue

我正在尝试实现dijkstra的路径查找算法,并需要某种优先级队列来存储信息。

在过去,例如一个fifo或filo PQ我只是使用一个数组然后两个指向当前插入和当前“外观”位置的指针然后“移除”并且项目将外观位置向上移动一次

然而对于dijkstra来说,我需要一个按重量(或当前距离)排序的PQ,然后查看PQ顶部的PQ,我将如何在C中实现它?

谢谢你的时间!

编辑:人们提到了二进制堆,你介意稍微提示一下如何开始吗?

1 个答案:

答案 0 :(得分:5)

最简单的选择是基于C数组实现binary heap