Tag Archives: 最小k个元素

查找最小的k个元素

给定一个数组和一个k,输出最小的k个数字。

这个问题有多重解法,譬如:
1、sort, top K,时间复杂度O(nlogn)
2、小顶堆排序,pop+调整k次,时间复杂度O(n+klogn)。
3、选择排序,每次选min,swap到头部时间复杂度O(nk)。

这里写下选择排序这个。
#include <stdio.h>

void select_min(int* arr, int n, int k)
{
int i, j, tmp;
int min[......]

继续阅读