堆排序

堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn)

堆分为大根堆和小根堆,是完全二叉树。每个节点的值都不大于其父节点的值为大顶堆,每个节点的值都不小于其父节点的值为小顶堆。

这里写图片描述
公式化描述就是:
大顶堆:arr[i] >= arr[2i+1] && arr[i] >= arr[2i+2]

小顶堆:arr[i] <= arr[2i+1] && arr[i] <= arr[2i+2]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章