数据结构-排序-堆式排序算法
发布时间
阅读量:
阅读量
算法:(只支持从小到大排序)
已知父节点,可推导出子节点:左子节点对应公式为(2n+1),右子节点对应公式为(2n+2);若已知子节点为n,则其父节点可通过公式(n-1)/2进行计算。
时间复杂度分析:nlog₂n
步骤概述
构建大根堆>>>持续进行调整(从最小的根堆开始,确保父节点的值大于子节点,逐步形成大根堆)
- 交换–>>调整(在完成大根堆的构建后,将0号下标对应的元素依次与最后一个下标处的元素进行交换,这样最大值会被移动到最后的位置。随后再次进行调整,使得次大的值会出现在0号下标位置)


代码实现
package sort;
import java.util.Arrays;
import java.util.Random;
/** * @C
全部评论 (0)
还没有任何评论哟~
