摘要: 求前k小的数,一般人的想法就是先排序,然后再遍历,但是题目只是求前N小,没有必要完全排序,所以可以想到部分排序,而能够部分排序的排序算法我能想到的就是堆排序和快排了。第一种思路,局部堆排序。 首先,建立一个大小为N的大顶堆,时间复杂度klgk,然后用其余的数和堆顶元素比较,如果小于堆顶元素则与... 阅读全文
posted @ 2015-06-30 14:38 Sunnier 阅读(1983) 评论(0) 推荐(0) 编辑