堆的一些简单应用
2016-05-24 19:57
211 查看
查找数据
10000个数中找出最大的前100个数
创建一个100个数的小堆,最上面的数是这100个数中最小的;然后依次遍历(从101到10000),如果比它大,替换它。
代码实现如下:
https://github.com/HandsomeBoby/Heap/blob/master/GetTopK.h
堆排序
使用大堆进行数组的排序
代码实现如下:
https://github.com/HandsomeBoby/Heap/blob/master/HeapSort.h
最后,欢迎大神们评价。
10000个数中找出最大的前100个数
创建一个100个数的小堆,最上面的数是这100个数中最小的;然后依次遍历(从101到10000),如果比它大,替换它。
代码实现如下:
https://github.com/HandsomeBoby/Heap/blob/master/GetTopK.h
堆排序
使用大堆进行数组的排序
代码实现如下:
https://github.com/HandsomeBoby/Heap/blob/master/HeapSort.h
最后,欢迎大神们评价。
相关文章推荐
- 一看就懂:图解C#中的值类型、引用类型、栈、堆、ref、out
- 浅析栈区和堆区内存分配的区别
- PHP SPL标准库之数据结构堆(SplHeap)简单使用实例
- 浅谈C#中堆和栈的区别(附上图解)
- C语言之栈和堆(Stack && Heap)的优缺点及其使用区别
- Java中堆和栈的区别详解
- 详解Java的堆内存与栈内存的存储机制
- java中堆和栈的区别分析
- C++中静态存储区与栈以及堆的区别详解
- 大话JMM
- [数据结构]堆
- java 虚拟机--新生代与老年代GC
- java堆内存与栈内存
- 堆和栈的区别
- 转贴一份挺好的堆和栈区别的资料
- C语言之内存分配
- 初学算法-基于最小堆的优先级队列C++实现
- Head First C学习日志 第六章用堆进行动态存储
- 关于java内存使用的相关问题(寄存器、栈、堆、静态存储、常理存储、非RAM存储)
- 关于栈、堆、静态变量区的访问效率