树的学习-二叉树的性质

二叉树
(1)n=0时,二叉树为空。
(2)n>0时,由根节点和两个互不相交的被称为根的左子树和右子树。左子树右子树也分别是一颗二叉树。
所有非叶子结点最多有两个孩子结点。
二叉树的孩子结点:左孩子右孩子。它们是不同的结点。
二叉树的五种形态:
在这里插入图片描述
所以三个结点的二叉树有5种可能性,分别为:
在这里插入图片描述
二叉树度为2有序树
(1)二叉树可以为空(二叉树中子结点数最多为2个),而度为2的有序树至少有三个结点(因为度为2的有序树是表示子结点数最多为2,且至少存在一个度为2的结点)。
(2)二叉树的孩子结点始终有左右之分,而度为2有序树的孩子结点次序是相对的。
二叉树的定义:

满二叉树
满二叉树的性质:一棵高度为h,且含有2h−12^h-12h1个结点的二叉树为满二叉树。
原理1:高度为h的m叉树的最多结点个数为(mh−1)/(m−1)(m^h-1)/(m-1)(mh1)/(m1)。将2带入即可。
在满二叉树中,对于编号为i的结点,其左孩子编号为2*i右孩子编号为2*i+1,其双亲结点为[i/2](向下取整)。

完全二叉树
设一个高度为h、有n个结点的二叉树,当且仅当其每个结点都与高度为h的满二叉树中编号为1~n的结点一一对应时,称为完全二叉树。
左边为完全二叉树,右边为满二叉树。即完全二叉树可以看作是满二叉树的最后一层结点数目不是完整的,其余都一样。
在这里插入图片描述

完全二叉树的性质
(1)若i<=[n/2],则结点i为分支结点,否则为叶子节点。
(理解:[n/2]为叶子节点最右边的一个结点的双亲结点,当i>[n/2],则均为叶子结点了。)
(2)叶子结点只可能在层次最大的两层上出现。对于最大层次的叶子结点,都依次排在最左边的位置上。
(3)度为1的结点若存在,则可能有一个,且是编号最大的分支结点,并孩子结点一定是左节点。
在这里插入图片描述

二叉排序树
一颗二叉树,若树非空则具有如下性质:
对任意结点若存在左子树或右子树,则其左子树上所有结点的关键字均小于该结点,右子树上所有结点的关键字均大于该节点。
在这里插入图片描述
平衡二叉树
树上任意结点的左子树和右子树的深度只差不超过1。
在这里插入图片描述
上图左边为平衡二叉树,右边不为平衡二叉树,因为右边第二层的第一个结点的左子树有两层,右子树只有0层,并不只相差1。

二叉树的性质
(1)非空二叉树上的叶子结点数等于度为2的结点数加1,即n0=n2+1n_0=n_2+1n0=n2+1
计算过程如下:
在这里插入图片描述

(2)非空二叉树上第k层上至多有2k−12^{k-1}2k1个结点。
(3)高度为h的二叉树至多有2h−12^h-12h1个结点。
(4)结点i所在层次为[log2i]+1[log_2i]+1[log2i]+1
在这里插入图片描述
(5)具有n个结点的完全二叉树的高度为[log2i]+1[log_2i]+1[log2i]+1[log2(n+1)][log_2(n+1)][log2(n+1)]
[log2(n+1)][log_2(n+1)][log2(n+1)]的推导可由下面而来。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值