生活妙招

當前位置 /首頁/生活妙招 > /列表

堆是一種什麼排序

堆是一種選擇排序,堆排序(Heapsort)是指利用堆積樹(堆)這種數據結構所設計的一種排序算法,它是選擇排序的一種。可以利用數組的特點快速定位指定索引的元素。

堆是一種什麼排序

堆分為大根堆和小根堆,是完全二叉樹。大根堆的要求是每個節點的值都不大於其父節點的值。在數組的非降序排序中,需要使用的就是大根堆,因為根據大根堆的要求可知,最大的值一定在堆頂。

堆排序的時間,主要由建立初始堆和反覆重建堆這兩部分的時間開銷構成,它們均是通過調用Heapify實現的。

由於建初始堆所需的比較次數較多,所以堆排序不適宜於記錄數較少的文件。堆排序是就地排序,輔助空間為0。它是不穩定的排序方法。(排序的穩定性是指如果在排序的序列中,存在前後相同的兩個元素的話,排序前和排序後他們的相對位置不發生變化)

TAG標籤:#