由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - STL里的priority_queue到底有啥用?
相关主题
请教C++ STL中priority_queue模板参数中的Compare函数linux 下从c++动态内存操作问题,heap size不够还是别的?
[合集] 一个已经排序好的数组,就是一个堆heap吗?算法题, 排序(queue)
如何将若干已升序排序好的数组合并在一起,并仍然是升序?请教算法题
问个很弱的stl的priority queue问题STL堆操作怎样对堆顶元素做ShiftDown?
请教MinHeap用STL实现 (转载)C++: 下面代码有啥问题,为什么?
underlying sort algorithm for SET in STL?为什么不能成功排序
C++ vector 一边遍历一边删请教一个python 问题
A STL sorting algorithm problem[合集] 答案. 未排序的100个数字,如何最快地找出最大的5个
相关话题的讨论汇总
话题: stl话题: set话题: queue话题: priority话题: 排序
进入Programming版参与讨论
1 (共1页)
d******i
发帖数: 7160
1
唯一功能就是O(1)得到min,
随便整个有序容器比如set找到头不就搞定了?
越想越觉得是脱裤子放屁啊。
当然,不说他走堆序有没什么advantage,
单说给用户的接口和代价。
纯粹多余啊。
p***o
发帖数: 1252
2
1 to provide a container-like interface to heap
2 heap has much less (0) per-element memory overhead
than set (a few pointers)

【在 d******i 的大作中提到】
: 唯一功能就是O(1)得到min,
: 随便整个有序容器比如set找到头不就搞定了?
: 越想越觉得是脱裤子放屁啊。
: 当然,不说他走堆序有没什么advantage,
: 单说给用户的接口和代价。
: 纯粹多余啊。

c******t
发帖数: 133
3
个人理解就是heap vs bst的区别吧,heap不需要完全排序,构建和插入新元素的时候
还是比bst快吧。当然worst case complexity应该是一样的
W***o
发帖数: 6519
4
我觉得priority queue 在 模拟实验的时候很好用;这个是工具,如果你让用户先去弄
懂原理再自己造轮子(造个PQ出来),那也不比脱裤子放屁高明多少

【在 d******i 的大作中提到】
: 唯一功能就是O(1)得到min,
: 随便整个有序容器比如set找到头不就搞定了?
: 越想越觉得是脱裤子放屁啊。
: 当然,不说他走堆序有没什么advantage,
: 单说给用户的接口和代价。
: 纯粹多余啊。

s****a
发帖数: 238
5
你去看源码,内存是一坨一坨分配的,memory footprint要小很多,接近vector了
g*********e
发帖数: 14401
6
set 找头不是o1吧

【在 d******i 的大作中提到】
: 唯一功能就是O(1)得到min,
: 随便整个有序容器比如set找到头不就搞定了?
: 越想越觉得是脱裤子放屁啊。
: 当然,不说他走堆序有没什么advantage,
: 单说给用户的接口和代价。
: 纯粹多余啊。

W***o
发帖数: 6519
7
显然不是,结构和bag一样杂乱,唯一不同是无重复,排序还是唼自己写tree

【在 g*********e 的大作中提到】
: set 找头不是o1吧
f*******n
发帖数: 12623
8
set是排序的。

【在 W***o 的大作中提到】
: 显然不是,结构和bag一样杂乱,唯一不同是无重复,排序还是唼自己写tree
W***o
发帖数: 6519
9
有排序的 TreeSet, 不过那也要自己写一个 comparator 才有排序的,一般的 Set/
Treeset 默认是不排序,只是保证没有重复元素

【在 f*******n 的大作中提到】
: set是排序的。
d******i
发帖数: 7160
10
R u saying the stl set in c++?
If so, im pretty sure u r wrong, b/c set is a SORTED rb tree in that context.

【在 W***o 的大作中提到】
: 有排序的 TreeSet, 不过那也要自己写一个 comparator 才有排序的,一般的 Set/
: Treeset 默认是不排序,只是保证没有重复元素

k**********g
发帖数: 989
11

Originally I think it would be O(log) too, but this page says it is O(1)
http://en.cppreference.com/w/cpp/container/set/begin
该回炉了

【在 g*********e 的大作中提到】
: set 找头不是o1吧
1 (共1页)
进入Programming版参与讨论
相关主题
[合集] 答案. 未排序的100个数字,如何最快地找出最大的5个请教MinHeap用STL实现 (转载)
请教一个初级算法问题 (转载)underlying sort algorithm for SET in STL?
看看人家高手写的排序代码C++ vector 一边遍历一边删
std::map 为什么没有排序呢A STL sorting algorithm problem
请教C++ STL中priority_queue模板参数中的Compare函数linux 下从c++动态内存操作问题,heap size不够还是别的?
[合集] 一个已经排序好的数组,就是一个堆heap吗?算法题, 排序(queue)
如何将若干已升序排序好的数组合并在一起,并仍然是升序?请教算法题
问个很弱的stl的priority queue问题STL堆操作怎样对堆顶元素做ShiftDown?
相关话题的讨论汇总
话题: stl话题: set话题: queue话题: priority话题: 排序