程序员面试100题---5.查找最小的k个元素

5.查找最小的k个元素(数组) 题目:输入n个整数,输出其中最小的k个。 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。

分析:此题可以通过构造一个含有K个元素的最大堆来实现。然后通过不断的和堆顶元素比较,来找出最小的k个数。

--------------------------------------------------------------------------------------------------------------------------------------------------------

具体代码参见另一篇博文:最大堆最小堆

构造含有k个数的最大堆,然后通过和堆顶元素比较来获得整个序列中最小的k个数。

你可能感兴趣的:(C语言,程序员面试100题精选)