码迷,mamicode.com
首页 > 其他好文 > 详细

STL heap和first_queue(未完结)

时间:2018-01-03 16:05:34      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:今天   blog   运算   net   art   区别   相关   等等   code   

STL heap和first_queue

标签(空格分隔): @zhshh STL heap first_queue


可以看看这个文章

大家都知道,priority_queue是用堆实现的,可以通过重载()运算符选择使用最大堆或最小堆。以前一直觉得stl里面的heap相关的函数都是多余的,因为一般的heap操作都可以用priority_queue来做。直到今天看了July博客中的那道求前k小的数(http://blog.csdn.net/v_JULY_v/article/details/6370650)才发现stl中heap操作独立存在的必要
来自原文
stl里关于heap的函数与priority_queue的区别----CSDN jackycmu

STL类似的结构有heapfirst_queue,区别是heap可以在元素放入完成后再建堆,从而在O(n)时间内完成,而first_queue必须不断插入,因此时间是O(n*lg n)

STL_heap函数(在库algorithm里面)

make_heap 建堆
push_heap 插入元素
pop_heap 删除元素

sort_heap 堆排序(和堆操作没任何联系,sort_heap之后数据是排序的,就不是堆了)

此外还有is_heap(似乎是C++11的,不建议在OI使用,不知道是否支持)等等,C++reference

STL heap和first_queue(未完结)

标签:今天   blog   运算   net   art   区别   相关   等等   code   

原文地址:https://www.cnblogs.com/zhshh/p/STL_heap.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!