寻找最大的第K个数

来源:互联网 发布:淘宝网太极拳衣服鞋 编辑:程序博客网 时间:2024/05/17 22:10

在一个无序数组中,找出最大的第K个数,数组大小为N。


算法很多。比较好的算法有

1、比较法(简单,当K小时可以考虑)

2、快排法(平均时间好)

3、堆。两种方法

 3、1 大堆:存储所有N个元素

 3、2 K堆:存储K个元素

4、压缩区间(很好的算法,尤其是这些数是整数的时候)

还有其它方法,可以参考以下网址。注意,下面那些总结得也不一定很好。

http://www.binghe.org/2011/05/find-kth-largest-number-in-disorder-array/

http://www.cnblogs.com/zhjp11/archive/2010/02/26/1674227.html

原创粉丝点击