排序算法之堆排序

堆的定义: 堆实际上是一棵完全二叉树。 堆满足两个性质: 堆的每一个父节点都大于(或小于)其子节点; 堆的每个左子树和右子树也是一个堆。 堆的每个左子树和右子树也是一个堆。 堆的分类: 堆分为两类: 最大堆(大顶堆):堆的每个父节点都大于其孩子节点; 最小堆(小顶堆):堆的每个父节点都小于其孩子节点; 公式来描述一下堆的定义就是: 大顶堆:arr[i] >= arr[2i+1] && arr[i]
相关文章
相关标签/搜索