标签: c algorithm data-structures priority-queue
我正在尝试实现dijkstra的路径查找算法,并需要某种优先级队列来存储信息。
在过去,例如一个fifo或filo PQ我只是使用一个数组然后两个指向当前插入和当前“外观”位置的指针然后“移除”并且项目将外观位置向上移动一次
然而对于dijkstra来说,我需要一个按重量(或当前距离)排序的PQ,然后查看PQ顶部的PQ,我将如何在C中实现它?
谢谢你的时间!
编辑:人们提到了二进制堆,你介意稍微提示一下如何开始吗?
答案 0 :(得分:5)
最简单的选择是基于C数组实现binary heap。