elvalad

修仙

2014年12月8日

求一个数组中最小的K个数

摘要: 方法1:先对数组进行排序,然后遍历前K个数,此时时间复杂度为O(nlgn);方法2:维护一个容量为K的最大堆(《算法导论》第6章),然后从第K+1个元素开始遍历,和堆中的最大元素比较,如果大于最大元素则忽略,如果小于最大元素则将次元素送入堆中,并将堆的最大元素删除,调整堆的结构;方法3:使用快速排序... 阅读全文

posted @ 2014-12-08 23:38 elvalad 阅读(304) 评论(0) 推荐(0) 编辑