为什么从5000个数中找出10个最大的堆排序最快?
2013-03-28 15:59
246 查看
就是先取10个数,建一个堆,然后读后面的5000-10个数;每读一个数,跟堆里最小的数比较,如果比堆里最小的还小,就接着读;如果更大,则删除堆里最小的数,把新的数插入堆中,再接着读下一个数。直到所有数读完。
参考地址:http://topic.csdn.net/u/20080916/15/7B6EE5B3-3BC2-44A0-8448-EF34731D6A94.html
参考地址:http://topic.csdn.net/u/20080916/15/7B6EE5B3-3BC2-44A0-8448-EF34731D6A94.html
相关文章推荐
- C语言: 键盘输入任意10个整数,找出最大数及最大数的序号。
- 16.03.18 【练习】利用RANDOM生成10个随机数,并找出其中的最大值和最小值。
- (算法)从10000个数中找出最大的10个
- 找出N个数据中的最大的K个数据---堆排序
- 第9周 项目5-2 程序填充(输入10个数,找出最大值)
- 典型的Top K算法_找出一个数组里面前K个最大数...或找出1亿个浮点数中最大的10000个...一个文本文件,找出前10个经常出现的词,但这次文件比较长,说是上亿行或十亿行,总之无法一次读入内存,
- 输入任意10个数,找出最大的数并打印出
- 对1000000个数进行排序找出10个最大的数
- c语言:用户输入10个整数,程序找出其中的最大值和最小值
- 典型的Top K算法_找出一个数组里面前K个最大数...或找出1亿个浮点数中最大的10000个...一个文本文件,找出前10个经常出现的词,但这次文件比较长,说是上亿行或十亿行,总之无法一次读入内存,
- 第三十三讲项目4-编程序,输入10个整数,找出最大数。
- Linux-C基础知识学习:C语言作业-输入10个整数,找出其中最大值和最小值
- 用对象找出10个整形数组中的最大元素。
- 100亿个数字找出最大的10个
- C++:输入10个数字,找出最大最小值(可处理误输入)
- 找出10个最大的文件并排序
- c语言:用户输入10个整数,程序找出其中的最大值和最小值
- shell 随机生成10个数,找出最大值
- 【数据结构】找出N个数据中最大的前k个数据(利用堆排序)
- (算法)从10000个数中找出最大的10个