一、满二叉树
每个节点都有两个子节点。

上图满二叉树的高度为 4,根据公式 2^h-1 可计算出有 15 个节点。
2^(i-1) 计算得出 1-4 层分别有 1、2、4、8 个节点
二、完全二叉树
一共给了 10(<15)个元素,无法构成满二叉树,故从上到下,从左到右形成完全二叉树。

2.1 完全二叉树特点

三、任意二叉树性质
(1)第 i 层上节点数最多为 2^(i-1)
(就是满二叉树以下,结合满二叉树公式来理解)
(2)高度为 h 的二叉树最多节点数为 2^h - 1
(3)叶子节点数量等于度为 2 的节点数量 +1
总的节点数 == 度为 0 的节点 + 度为 1 的节点 + 度为 2 的节点 == n0 + n1 + n2
且观察以上完全二叉树的图,发现一根连接线对应一个节点,除了根节点,于是
总的节点数 == 总链接线 + 1(根节点)
== 度为 0 节点(0 线)+ 度为 1 的节点(1 根线)+ 度为 2 的节点(2 根线)+ 1 == n0(0) + n1 + 2*n2 + 1故 n0 + n1 + n2 == n1 + 2*n2 + 1
化简得:n0 = n2 + 1
(4)有 n 个节点的完全二叉树高度为多少?
设高度为 h
2 ^ h - 1 == n
2 ^ h == n + 1
h = log(n+1) (以二为底)
(5)节点数为 n 的完全二叉树,从上到下,从左到右,除了根节点以外,都满足 i/2、i、2i、2i + 1 规则
四、顺序/链式存储
4.1 顺序存储
性质 5,我们可以将任意一颗二叉树构造成完全二叉树/满二叉树,找到父节点、子节点。







