二叉树的主要性质总结!

总结自《2018版数据结构高分笔记》

1、非空二叉树上叶子结点数等于双分支结点数加1

这道题在公司招聘的笔试题中经常作为一道填空或者选择题出现,我们可以稍微证明一下这个结论。

证明
假设二叉树中叶子结点数为n0,单分支结点数为n1,双分支结点数为n2,则总结点数为n0+n1+n2。那么在一棵树中,所有结点的分支数等于单分支结点数加上双分支结点数的两倍,即n1+2*n2。另一方面,在一棵二叉树中,除了根结点外,每个结点都有唯一的一个分支指向它,因此二叉树中总的分支数=结点数-1,即n0+n1+n2=n1+2*n2+1,可以得到最初的结论。

变形
这个性质可以运用到很多题目中,比如,题目可能会问二叉树中总的结点数为n,则树中的空指针有多少。如果把空指针想成是叶子结点的话,我们可以认为树中的现有的n个结点都是双分支结点,所以空指针的树木为n+1个。

2、二叉树的第i层上最多有2^(i-1)个结点

结点最多的情况就是满二叉树的情况,此时二叉树每层上的结点数构成了一个首项为1,公比为2的等比数列,通项为2^i-1,i为层号

3、高度或深度为k的二叉树最多有2^(k)-1个结点,换句话说,满二叉树的结点个数为 2^(k)-1。

4、在n个结点的完全二叉树中,对各结点从上到下,从左到右依次编号,则结点之间有如下的关系:

若i为某结点a的编号,则:
如果i!=1,则a的双亲结点编号为floor(i/2)(向下取整的意思);
如果2i<=n,则a的左孩子的编号为2i,反之a无左孩子;
如果2i+1<=n,则a的右孩子的编号为2i+1,反之a无右孩子。

5、函数Catalan(),给定n个结点,能构成Catalan(n)种不同的二叉树:Catalan数的算法为:

6、具有n个结点的完全二叉树的高度为floor(log2n)+1。

你可能感兴趣的:(二叉树的主要性质总结!)