1.概述
参考文章:【算法】堆排序 里面讲解了堆排序相关的东西。
堆结构就是使用数组实现的完全二叉树结构。
完全二叉树:一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。
比如下面这个就是完全二叉树,因为左边节点是有的
如果一个树,右边有节点,而左边没有节点那么就不是完全二叉树
比如如下这种结构
**大根堆:**完全二叉树中如果每棵子树的最大值都在顶部就是大根堆
比如这个图就是大根堆
以6为顶点的树是一个大根堆,因为6最大
以5为顶点的树是一个大根堆,因为5最大
以4为顶点的