【经典排序算法】堆排序(动图演示 + C 语言代码实现)
👩💻 👉 【经典排序算法】十大经典排序算法汇总篇
1、动图演示
2、排序思想
堆它是选择排序的一种,它是通过堆来进行选择数据。(升序要建大堆,降序建小堆)
首先是创建堆,即把待排序的序列转换成堆的形式。然后将根节点与最后一个节点交换。交换之后会打乱堆的规律,需要对前(n-1)个节点进行调整,使之重新成为堆。接下来交换根节点与倒数第二个节点 …… 重复上述调整,直到序列有序为止。(建堆、交换、调整)
3、时间/空间复杂度
时间复杂度: O ( n log n ) O(n\log_n) O(nlogn