堆的一些简单应用
-
查找数据
10000个数中找出最大的前100个数
创建一个100个数的小堆,最上面的数是这100个数中最小的;然后依次遍历(从101到10000),如果比它大,替换它。
代码实现如下:
https://github.com/HandsomeBoby/Heap/blob/master/GetTopK.h
-
堆排序
使用大堆进行数组的排序
代码实现如下:
https://github.com/HandsomeBoby/Heap/blob/master/HeapSort.h
最后,欢迎大神们评价。