为什么从5000个数中找出10个最大的堆排序最快?

就是先取10个数,建一个堆,然后读后面的5000-10个数;每读一个数,跟堆里最小的数比较,如果比堆里最小的还小,就接着读;如果更大,则删除堆里最小的数,把新的数插入堆中,再接着读下一个数。直到所有数读完。

 

参考地址:http://topic.csdn.net/u/20080916/15/7B6EE5B3-3BC2-44A0-8448-EF34731D6A94.html

posted @ 2013-03-28 15:59  dapeng888  阅读(613)  评论(0编辑  收藏  举报