关闭

寻找最大的第K个数

387人阅读 评论(0) 收藏 举报

在一个无序数组中,找出最大的第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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:184707次
    • 积分:2417
    • 等级:
    • 排名:第15414名
    • 原创:70篇
    • 转载:35篇
    • 译文:0篇
    • 评论:8条
    最新评论