参考:https://blog.csdn.net/sodacoco/article/details/83478803
https://www.cnblogs.com/zhoanghua/p/9288899.html
https://www.jianshu.com/p/ac95b5a7de8b
完全二叉树
若堆的深度【层数】为h,除了最后一层,其上各层 (1~h-1) 的结点数都达到最大个数,并且最后一层所有的结点都连续集中在最左边,这就是完全二叉树。
堆
堆是利用完全二叉树的结构来维护的一组数据。它的实现如下:
满二叉树
full binary tree 满二叉树:二叉树除了叶结点外所有节点都有两个子节点。
对于满二叉树而言,叶子的个数等于内部结点(非叶结点)+1,写作 L = l + 1
完全二叉树与满二叉树的区别
满二叉树分为:full binary tree 和 perfect binary tree
full binary tree
perfect binary tree
满二叉树不一定是完全二叉树
下面这个二叉树只是full binary tree,所以它不是完全二叉树。
完全二叉树也不一定是满二叉树
既是满二叉树也是完全二叉树的树
只有 perfect binary tree才既是满二叉树也是完全二叉树