s*****s 发帖数: 94 | 1 c++ STL中的Priority queue直接可以实现MaxHeap。
有什么简单的方向实现MinHeap么?
发现面试题中有时候会需要用到MinHeap,但是不是主要考察MinHeap,所以不想现场把大
量的时间花在
实现MinHeap上 |
c****p 发帖数: 6474 | 2 minheap 和maxheap在实现方法上有什么差别么。。。
【在 s*****s 的大作中提到】 : c++ STL中的Priority queue直接可以实现MaxHeap。 : 有什么简单的方向实现MinHeap么? : 发现面试题中有时候会需要用到MinHeap,但是不是主要考察MinHeap,所以不想现场把大 : 量的时间花在 : 实现MinHeap上
|
s*****s 发帖数: 94 | 3 因为Priority queue默认是MAXHEAP,
所以可以写 priority_queue maxHeap;
一句话就能定义一个MAXHEAP。MINHEAP没有这样的便利啊,在C++里面没有。JAVA里面
可能两者都很
容易实现。所以想问C++中有啥不太麻烦的实现办法
【在 c****p 的大作中提到】 : minheap 和maxheap在实现方法上有什么差别么。。。
|
h*********n 发帖数: 11319 | 4 换比较函数啊
priority_queue, greater > minHeap
stl的主页里不就有这个代码
【在 s*****s 的大作中提到】 : 因为Priority queue默认是MAXHEAP, : 所以可以写 priority_queue maxHeap; : 一句话就能定义一个MAXHEAP。MINHEAP没有这样的便利啊,在C++里面没有。JAVA里面 : 可能两者都很 : 容易实现。所以想问C++中有啥不太麻烦的实现办法
|
c****p 发帖数: 6474 | 5 key值取负,然后放到maxheap里,实际上不就成了minheap了么。
取值的时候再变回来。
【在 s*****s 的大作中提到】 : 因为Priority queue默认是MAXHEAP, : 所以可以写 priority_queue maxHeap; : 一句话就能定义一个MAXHEAP。MINHEAP没有这样的便利啊,在C++里面没有。JAVA里面 : 可能两者都很 : 容易实现。所以想问C++中有啥不太麻烦的实现办法
|