堆
文章平均质量分 55
娃哈哈纯净李
这个作者很懒,什么都没留下…
展开
-
STL中关于heap的函数
在STL中,如果要用到堆,则有五个函数,make_heap,pop_heap,push_heap,heap_sort,和is_heap,其中is_heap和heap_sort就是判断容器是否符合堆的条件和把容器中元素进行堆排序。 mak_heap是把容器中制定迭代器之间的元素进行建堆操作。 push_heap,把容器最末尾的元素进行上调,即相当于是插入一个元素,因此如果要往堆中插入元素,例如v原创 2014-12-09 16:50:27 · 830 阅读 · 0 评论 -
用优先级队列实现霍夫曼编码
用优先级队列实现霍夫曼编码,采用贪心算法,每次从优先级队列中选取两个最小元素进行合并。 注意用优先级队列时用的是小顶堆,采用仿函数做比较器,不能用函数指针来实现。 代码如下: #include #include using namespace std; struct Node { char c; int val; Node *lChild; Node *rChild; Node(原创 2015-03-24 16:52:07 · 1037 阅读 · 0 评论