二叉树


1、n个结点的二叉树有多少种形态,Catalan数
在这里插入图片描述



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



3、深度为k的二叉树最多有多少个结点,最少有多少个结点
深度为k的二叉树最多有2^k - 1个结点,最少有k个结点



4、任何一棵二叉树T,如果其终端结点数n0,度为2的结点数为n2,则有
n0 = n2 + 1,请问为什么?
答:设节点总数为N,度为0的结点数为n0,度为1的结点数为n1,度为2的结点数为n2
则有:N = n0 + n1 + n2;
分支(连接相邻两个结点的小棍)个数为:n0 + n1 + n2 - 1
也可以表示为:2 * n2 + 1 * n1 + 0 * n0(从上往下看,有两个结点会有两个分支,有一个结点会有一个分支,终端结点数为0,没有分支)
两个等式显然是等价的,所以我们得到了一个等式:
n0 + n1 + n2 - 1 = 2 *n2 + n1
即:n0 = n2 + 1;
等式得证。

这给了我们什么提醒呢?
——想要叶子多,就要分支多,俗称枝繁叶茂



#二叉树的性质
由上面的3可以得到一些具有特殊形式的二叉树
###满二叉树:深度为k的二叉树有2^k - 1个结点,即每一层都有最大的结点个数
在这里插入图片描述

【PS:如果每一层都只有一个结点,同时这些结点都偏向一个方向,这样的二叉树被我们命名为###偏二叉树】

###完全二叉树:如果与满二叉树相比,二叉树中的任何一个结点前都不缺少结点,这样的二叉树成为完全二叉树
在这里插入图片描述
【注:在理解完全二叉树的时候,可以当成满二叉树从下到上,从右向左删除若干个结点】
完全二叉树的性质:
性质(1):完全二叉树的叶子结点只可能在层次最大的两层上出现(注意:这只是一个充分不必要条件,完全二叉树具有这样的性质,但有这样性质的不一定值完全二叉树)
性质(2):在完全二叉树中的任意结点, 若其右下分支子孙的最大层数为K,则左下分支的最大层数为K或K + 1

问题:一个有n个结点的完全二叉树的深度为多少呢?
答:[logn] + 1【log以2为底,n的对数向下取整,加上1】



我们以根节点为1,对二叉树进行从左向右,从上到下依次编号,我们上面所有的图都是按照这个方式编的号

那么,我们可以看出完全二叉树的存在的编号是与满二叉树的编号是一一对应的。

#二叉树性质
如果对一棵有n个结点的完全二叉树的结点按照我们上面描述的那样的顺序进行编号,则对于每一个结点i(0<=i<=n),都有
若i = 1,那么i是这棵树的根节点
若i != 1,那么i的双亲结点编号为[i/2];
若2*i <= n 则 i 有左孩子,左孩子为2 * i 。若2 * i > n, 则 i 没有左孩子
若2 * i + 1 <= n 则 i 有右孩子,有孩子为 2 * i + 1, 若2 * i + 1 > n, 则 i 没有右孩子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值