經典排序算法(三)

堆排序算法:

堆是完全二叉樹 2.大頂堆:每個結點的值都大於或等於其左右孩子結點的值,稱為大頂堆。3.小頂堆:每個結點的值都大於或等於其左右孩子結點的值,稱為小頂堆。

完全二叉樹性質:如果i>1,則雙親是結點[i/2]。也就是說下標i與2i和2i+1是雙親子女關係。 當排序對象為數組時,下標從0開始,所以下標 i 與下標 2i+1和2i+2是雙親子女關係。

圖解排序算法(三)之堆排序:https://www.cnblogs.com/chengxiao/p/6129630.html(詳細步驟,不多說了哈)

堆的形狀是一棵完全二叉樹或平衡二叉樹。。。。。。。

經典排序算法(三)

經典排序算法(三)

經典排序算法(三)

桶排序算法:

1)桶排序是穩定的;

2)桶排序是常見排序算法中最快的一種,大多數情況下比快排和歸併排序還要快。

3)桶排序非常快但是也非常消耗空間,典型的以空間換時間,基本上是最耗內存的一種排序算法。

參考啊哈算法!!!

經典排序算法(三)

計數排序算法:

提前必須是已知待排序的關鍵字為整型且範圍已知。

時間複雜度為O(n+k)

n指的是桶的個數,k指的是待排序數組的長度,不是基於比較的排序算法,因此效率非常之高。

但需要一些輔助數組,如C[0..k],因此待排序的關鍵字範圍0~k不宜過大。

經典排序算法(三)

經典排序算法(三)


分享到:


相關文章: