XiangqianMa / GitTalk

my gittalk.
0 stars 0 forks source link

堆入门以及使用堆完成排序操作 | MXQ #45

Open XiangqianMa opened 4 years ago

XiangqianMa commented 4 years ago

http://activepony.com/shu-ju-jie-gou-yu-suan-fa/suan-fa/dui-pai-xu/#more

什么是堆?堆是一种特殊的树,需要满足以下两点要求:第一点,堆必须是一个完全二叉树。完全二叉树要求,除了最后一层,其他层的节点个数都是满的,最后一层的节点都靠左排列。 第二点,堆中的每个节点的值必须大于等于(或者小于等于)其子树中每个节点的值。实际上,可以换一种说法,堆中每个节点的值都大于等于(或者小于等于)其左右子节点的值。这两种表述是等价的。 对于每个节点的值都大于等于子树中每个节点值的堆,叫作