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...