堆排序 模擬堆排序

2021-09-27 07:03:53 字數 729 閱讀 6406

838. 堆排序

輸入乙個長度為n的整數數列,從小到大輸出前m小的數。

輸入格式

第一行包含整數n和m。

第二行包含n個整數,表示整數數列。

輸出格式

共一行,包含m個整數,表示整數數列中前m小的數。

資料範圍

1≤m≤n≤1051≤m≤n≤105,

1≤數列中元素≤1091≤數列中元素≤109

輸入樣例:

5 3

4 5 1 3 2

輸出樣例:

1 2 3
#include #include #include #include #include #include #include #include using namespace std;

int n,a[300010],m,size;

void down(int x)

void down(int u)

}void up(int u)

}int main()

else if (!strcmp(op, "pm")) printf("%d\n", h[1]);

else if (!strcmp(op, "dm"))

else if (!strcmp(op, "d"))

else

}return 0;

}

堆排序 堆排序優化 索引堆排序

堆排序 堆排序優化 索引堆排序 注 堆排序 索引堆排序 都是不穩定的排序。注 索引最大堆排序有誤!有沒有大神可以指點一二?1 堆 所有元素 都從索引0開始 父親結點索引 i 左孩子結點索引 2i 1 右孩子結點索引 2i 2 左後乙個非葉子結點索引 n 1 2 用於構建堆,從最後乙個非葉子結點索引開...

堆排序 堆排序優化 索引堆排序

堆排序 堆排序優化 索引堆排序 注 堆排序 索引堆排序 都是不穩定的排序。注 索引最大堆排序有誤!有沒有大神可以指點一二?1 堆 所有元素 都從索引0開始 父親結點索引 i 左孩子結點索引 2i 1 右孩子結點索引 2i 2 左後乙個非葉子結點索引 n 1 2 用於構建堆,從最後乙個非葉子結點索引開...

堆排序 模板 堆排序

biu 堆排序是乙個不穩定的排序演算法,對資料不敏感,時間複雜度穩定,主要分為兩部分 建堆 堆排序。其中建堆的時間複雜度是 o n o n o n 的,而排序選出乙個最大 最小值的過程是 o l ogn o logn o logn 的,一共需要n次操作,故總共的時間複雜度是 o n logn o n...