C ++实现二进制堆

时间:2009-04-13 10:54:11

标签: c++ data-structures heap binary-tree

我需要一个实现为二叉树的最小堆。真正快速访问最小节点和插入排序。

在stl或boost中是否有一个很好的实现,任何人都可以指出我?

3 个答案:

答案 0 :(得分:17)

我认为std::priority_queue正是您所寻找的。

答案 1 :(得分:5)

请参阅标准C ++算法make_heap()。

答案 2 :(得分:-1)

STL没有(二元)树的概念,但是有一些方法可以帮助维护数据集中的堆属性,例如std :: make_heap,std :: sort_heap,std :: push_heap等等。