二叉树的性质
-
非空二叉树的第i层,最多有 2 i − 1 2^{i-1} 2i−1个节点(i>=1)
-
在高度为h的二叉树上最多有 2 h − 1 2^{h}-1 2h−1个节点
-
对于任何一颗非空二叉树
,如果叶子节点个数为n0,读为2的节点个数为n2,则有:n0=n2+1 -
度为1的节点只有左子树
-
度为1的节点要么是1个,要么是0个
-
同样的节点数量的二叉树,完全二叉树的高度最小
度为1的节点只有左子树
度为1的节点要么是1个,要么是0个
同样的节点数量的二叉树,完全二叉树的高度最小
假设完全二叉树的高度为h(h>=1),那么
- 至少有 2 h − 1 2^{h-1} 2h−1个节点
- 最多有 2 h − 1 2^{h}-1 2h−1个节点
- 总节点数量为n,那么满足条件:
✔ 2 h − 1 ≤ n ≤ 2 h 2^{h-1} ≤ n ≤ 2^{h} 2h−1≤n≤2h
✔ h − 1 ≤ n ≤ l o g 2 n < h h-1 ≤ n ≤ log_{2}n<h h−1≤n≤log2n<h
同样节点数量的二叉树,完全二叉树的高度最小
一颗有n个节点的完全二叉树(n>0),从上到下,从左到右的节点从1开始进行编号,对任意第i个节点而言:
- 如果i=1,它是根节点
- 如果i>1,它的父节点编号为floor(i/2)
- 如果2i≤n, 它的左子节点编号为2i
- 如果2i>n,它无左子节点
- 如果2i+1≤n,它的右子节点编号为2i+1
- 如果2i+1>n, 它无右子节点
一颗有n个节点的完全二叉树(n>0),从上到下,从左到右的节点从0开始进行编号,对任意第i个节点而言:
- 如果i=0,它是根节点
- 如果i>0,它的父节点编号为floor((i-1)/2)
- 如果2i+1≤n-1, 它的左子节点编号为2i+1
- 如果2i+1>n-1>n,它无左子节点
- 如果2i+2≤n-1,它的右子节点编号为2i+2
- 如果2i+2>n-1, 它无右子节点
同样节点数量的二叉树,完全二叉树的高度最小