首页 > 其他分享 >二叉树的数学性质

二叉树的数学性质

时间:2023-02-21 23:46:56浏览次数:42  
标签:结点 数学 二叉树 一棵 n1 2i 性质

二叉树的性质


由于二叉树结构特殊,我们可以总结出以下的五个性质:

    性质一:对于一棵二叉树,第i层的最大结点数量为 2i−1 个,比如二叉树的第一层只有一个根结点,也就是 20 = 1 ,而二叉树的第三层可以有 22 = 4个结点。

    性质二:对于一棵深度为k的二叉树,可以具有的最大结点数量为:     n = 20 + 21 + 22 + . . . + 2k − 1     我们发现,实际上每一层的结点数量,组成了一个等比数列,公比q为2,结合等比数列求和公式,我们可以将其简化为:     所以一棵深度为k的二叉树最大结点数量为 n = 2k − 1 ,顺便得出,结点的边数为 E = n − 1 。

    性质三:假设一棵二叉树中度为0、1、2的结点数量分别为 n0​、 n1​、 n2​,由于一棵二叉树中只有这三种类型的结点,那么可以直接得到结点总数:     n = n0​+n1​+n2​     我们不妨换一个思路,我们从二叉树的边数上考虑,因为每个结点有且仅有一条边与其父结点相连,那么边数之和就可以表示为:     E = n1​+2n2​     度为1的结点有一条边,度为2的结点有两条边,度为0的结点没有,加在一起就是整棵二叉树的边数之和,结合我们在性质二中推导的结果,可以得到另一种计算结点总数的方式:     E = n−1=n1​+2n2​     n = n1​+2n2​+1
    再结合我们第一个公式:     n = n0​+n1​+n2​=n1​+2n2​+1     综上,对于任何一棵二叉树,如果其叶子结点个数为 n 0 n_0 n0​ ,度为2的结点个数为 n 2 n_2 n2​ ,那么两者满足以下公式:     n0 = n2​+1     (性质三的推导过程比较复杂,如果觉得麻烦推荐直接记忆)

    性质四:完全二叉树除了最后一层有空缺外,其他层数都是饱满的,假设这棵二叉树为满二叉树,那么根据我们前面得到的性质,假设层数为k,那么结点数量为:n=2k−1 ,根据完全二叉树的性质,最后一层可以满可以不满,那么一棵完全二叉树结点数n满足:     2k−1−1 < n <= 2k−1     因为n肯定是一个整数,那么可以写为:     2k−1 <= n <= 2k−1     现在我们只看左边的不等式,我们对不等式两边同时取对数,得到:     k−1 <= log2 ​n

    综上所述,一棵具有n个结点的完全二叉树深度为  k=⌊log2​ n⌋ + 1

    (性质四的推导过程比较复杂,如果觉得麻烦推荐直接记忆)

    性质五:一颗有n个结点的完全二叉树,由性质四得到深度为 k=⌊log2​ n⌋+1 现在对于任意一个结点i,结点的顺序为从上往下,从左往右:
        对于一个拥有左右孩子的结点来说,其左孩子为2i,右孩子为2i + 1。
        如果i = 1,那么此结点为二叉树的根结点,如果i > 1,那么其父结点就是 ⌊ i / 2 ⌋ \lfloor i/2 \rfloor ⌊i/2⌋,比如第3个结点的父结点为第1个节点,也就是根结点。
        如果2i > n,则结点i没有左孩子,比如下面图中的二叉树,n为5,假设此时i = 3,那么2i = 6 > n = 5 说明第三个结点没有左子树。
        如果2i + 1 > n,则结点i没有右孩子。

 

标签:结点,数学,二叉树,一棵,n1,2i,性质
From: https://www.cnblogs.com/Ragnaros-Y/p/17142891.html

相关文章