前言
座右铭:talk is easy,show me the code.
我们生活在幸福的时代,我们都站在巨人的肩膀上看世界
简介二叉树
二叉树的定义
(1)每个节点的度不可大于2
(2)每个节点孩子次序不能颠倒
二叉树的性质
性质1
二叉树的第i层至多有2i−1个结点
因为二叉树中每个节点的度最大为2,第一层为节点1
则第i层节点数量=2i−1个结点
性质二
深度为i的二叉树最多有2i−1个结点
利用等差数列的公式即可求得:1−22−(2i−1)=2i−1
性质三
对于任意一颗二叉树,若叶子节点数为n0,而其度数为2的节点数量为n2
则n0=n2+1
因为二叉树中所有的节点数量都小于2,所以有
n=n0+n1+n2;
设二叉树分支数目为B,除根节点外,每个节点都对应一个进入他的分支,所以有
n=B+1;
又因为二叉树的分支都是由度为1和度为2的节点出发,所以分支数目又等于
B=2n2+n1;
整理上述三个式子即可得出:n0=n2+1
这个式子我是从来不记的,我只记住一个树就可以推出来:

这个二叉树,n2=1,n0=2;满足 n0=n2+1;
满二叉树和完全二叉树
满二叉树
定义:如果二叉树深度为k,那么它一定有2k−1个节点,如图

如果满二叉树深度为3,所以它的节点数量为7,所以这个满二叉树一定是这样的,
完全二叉树
完全二叉树就是在满二叉树的最后一层基础上从右往左减去n个节点的树
(0<=n<=2i−1)

以下以深度为3的满二叉树为例子

(1)减去一个节点的完全二叉树

(2)减去两个节点的完全二叉树

(3)减去三个节点的完全二叉树

(4)减去四个节点的完全二叉树【此时也是深度为2的满二叉树】

(5)减去零个节点的完全二叉树【此时也是深度为3的满二叉树】
完全二叉树和满二叉树的关系
满二叉树是完全二叉树的一个特例,满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。
由于水平有限,本博客难免有不足,恳请各位不吝赐教!