一、二叉树的概念:
一棵二叉树是节点的一个有限集合,该集合或者为空,或者由一个根节点加上两棵左子树和右子树组成
二、二叉树的特点:
1、每个节点最多有两棵子树,即二叉树不存在度大于2的节点
2、二叉树的子树有左右之分,其子树的次序不能颠倒
三、二叉树的形式:
空节点,单节点,右单只,左单只,二叉树
四、满二叉树:
在一棵二叉树中,所有分支节点都存在左子树和右子树,并且所有的叶节点都在同一层上
五、完全二叉树:
如果一棵具有N个节点的二叉树的结构与满二叉树的前N个节点的结构相同
六、二叉树的性质:
1、若规定根节点的层数为1,则一棵非空二叉树的第i层上最多有2i-1个节点
2、若规定只有根节点的二叉树的深度为1,则深度为k的二叉树的最大节点数是2k-1
3、对任何一棵二叉树,如果其叶子节点个数为n0,度为2的非叶子节点个数为n2,则n0=n2+1
4、具有n个节点的完全二叉树的深度k为log2(n+1)向上取整
5、对于具有n个节点的完全二叉树,如果按照从上至下从左至右的顺序对所有结点从0开始编号,则对于序号为i的节点有:
(1)如果i>=0,则序号为i节点的双亲结点的序号为(i-1)/2;如果i=0,则序号i节点无双亲结点
(2)如果2i+1<n,则序号i结点的左孩子的序号为2i+1,右孩子的序号为2i+2;如果2i+1>=n,则序号i节点无孩子节点
七、二叉树遍历
前序遍历:根结点 —> 左子树 —> 右子树
1 2 4 5 7 8 3 6
中序遍历:左子树 —> 根结点 —> 右子树
4 2 7 5 8 1 3 6
后序遍历:左子树 —> 右子树 —> 根结点
4 7 8 5 2 6 3 1
层次遍历:1 2 3 4 5 6 7 8