引言
树有很多种,有二叉树,三叉树,二三树,红黑树,哈夫曼树,B树,B+树等,二叉树是其中的一种,由于它的每个父节点最多只有两个子节点,所以称之为二叉树,它的两个子节点分别称之为左子节点和右子节点(或者称之为左子树和右子树)。常见的二叉树有完全二叉树,满二叉树,平衡二叉树,二叉搜索树(二叉查找树)。
二叉树的性质
- 性质一 第i层的二叉树上的节点个数为 2 i − 1 ( i > = 1 ) {2^{i-1} (i>=1)} 2i−1(i>=1)
- 性质二 树的深度为h的二叉树,子节点个数为 2 h − 1 个 ( h > = 1 ) {2^h-1个(h>=1)} 2h−1个(h>=1)
- 性质三 包含n个节点的二叉树的深度为 l o g 2 ( n + 1 ) ( n > = 1 ) {log_2(n+1) (n>=1)} log2(n+1)(n>=1)
- 性质四 若二叉树的总节点为N,叶子结点(度为0的节点)的个数为 N 0 {N_0} N0 ,度为2的结点数为 N 2 {N_2} N2,那么 N 0 = N 2 + 1 {N_0=N_2+1} N0=N2+1 ,度为1的结点数为 N 1 {N_1} N1 ,那么 N 1 = N − N 0 − N 2 {N_1=N-N_0-N_2} N1=N−N0−N2 。
满二叉树
除最后一层子结点外,以上每一层的结点都有两个子结点的二叉树叫做满二叉树。也就是一棵二叉树上,所有层的结点数达到最大数量的二叉树叫做满二叉树。
平衡二叉树
一棵左右两边子树的高度差不超过1的,并且左右两边的树都是平衡二叉树的二叉树,叫做平衡二叉树。空树,红黑树也是一种平衡二叉树。
最小平衡二叉树结点总数的公式为
F
(
n
)
=
F
(
n
−
1
)
+
F
(
n
−
2
)
+
1
F(n)=F(n-1)+F(n-2)+1
F(n)=F(n−1)+F(n−2)+1
二叉查找树
二叉查找树顾名思义就是用来搜索树中的某个值用的,其搜索,删除,插入复杂度为
O
(
l
o
g
(
n
)
)
O(log(n))
O(log(n)) ,和二分查找一样必须是有序数列的前提下,因此二叉查找树的左子树上所有结点必须小于根结点(若左子树结点不为空),右子树上所有结点必须大于根结点(若右子树结点不为空)。
-----未完-------