二叉树的结点总数是多少?

作者&投稿:滑饶 (若有异议请与网页底部的电邮联系)
~

因为二叉树所有结点滴个数都不大于2,所以结点总数n=n0+n1+n2 (1)

又因为度为1和度为2的结点分别有1个子树和2个子树,所以,二叉树中子树结点就有n(子)=n1+2n2

二叉树中只有根节点不是子树结点,所以二叉树结点总数n=n(子)+1 即 n=n1+2n2+1 (2)

结合(1)式和(2)式就得n0=n2+1

完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。

可以根据公式进行推导,假设n0是度为0的结点总数(即叶子结点数),n1是度为1的结点总数,n2是度为2的结点总数,则 :

①n= n0+n1+n2 (其中n为完全二叉树的结点总数);又因为一个度为2的结点会有2个子结点,一个度为1的结点会有1个子结点,除根结点外其他结点都有父结点,

②n= 1+n1+2*n2 ;由①、②两式把n2消去得:n= 2*n0+n1-1,由于完全二叉树中度为1的结点数只有两种可能0或1,由此得到n0=n/2 或 n0=(n+1)/2。

简便来算,就是 n0=n/2,其中n为奇数时(n1=0)向上取整;n为偶数时(n1=1)。可根据完全二叉树的结点总数计算出叶子结点数。

扩展资料:

若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。

完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。

(1)所有的叶结点都出现在第k层或k-l层(层次最大的两层)

(2)对任一结点,如果其右子树的最大层次为L,则其左子树的最大层次为L或L+l。

一棵二叉树至多只有最下面的两层上的结点的度数可以小于2,并且最下层上的结点都集中在该层最左边的若干位置上,则此二叉树成为完全二叉树,并且最下层上的结点都集中在该层最左边的若干位置上,而在最后一层上,右边的若干结点缺失的二叉树,则此二叉树成为完全二叉树。

百度百科-百度百科-完全二叉树




高度为8的完全二叉树至少有多少个结点
高度为8的平衡二叉树最少结点数是54 如果高度比较大的树,可以根据如下公式:S(n)=S(n-1)+S(n-2)+1,此数列与斐波那契数列(F(n)=F(n-1)+F(n-2))相似,由归纳法可得S(n)=F(n+2)-1,由斐波那契定理,F(n)=(x^n)\/sqrt(5),其中x=(1+sqrt(5))\/2,...

二叉树中度0的节点有多少个?
就是只有一个分支的结点个数; n2表示度为2的结点个数,就是有左右两个分支的结点个数.另外,有公式:总节点数N = 分支数 + 1而在二叉树中,分支数 = 0*n0 + 1*n1 + 2*n2 也就是,总节点数N = 分支数 + 1 = 0*n0 + 1*n1 + 2*n2 + 1 (公式2)由公式1和公式2,得出等...

「leetCode」429-N叉树的层序遍历??
树的高度不会超过1000 树的节点总数在[0,10^4]之间 解题思路?此题同样采用层序遍历 在每层遍历时初始化currentLevel记录当前层的结果 遍历每层结点个数时,像currentLevel记录每层结点的值 解题步骤?此题采用层序遍历 处理边界条件 初始化queue 遍历queue 遍历每一层,每一层都初始化一个currentLevel...

深度为5的满二叉树有几个叶子结点
根据满二叉树的定义,一棵深度为k且有2k-1个结丛并点的二叉树为满二叉树。满二叉树的叶子结点为最后一层的结点数。根瞎数据满二叉树的性质渗神迹,在满二叉树的第i层上至多有2i-1个结点。因此深度为5的满二叉树的叶子结点数为25-1=16个。二叉树性质如下:性升配滚质1:二叉树的第i层...

二叉树的度最多是?
当最后一层只有一个结点时完全二叉树结点总数最少,则可知前h-1层共有(2^h-1)-1个,加上最后一个即总数为:(2^h-1)-1+1 ==2^h-1个。二叉树的度表示节点的子树或直接继承者的数目,二叉树的度是一个子树或单子树。2度是两个孩子,或者左和右子树有两个叉树,最大度数为2。

二叉树一共有多少个结点
一共有2n-1个结点 设叶子节点个数为n,度为1的节点个数为m,度为2的节点个数为l.显然易知:一颗二叉树的节点数 = 这个树的度加1(因为每个节点都是前一个节点的度,根节点除外,所以要加1)故有 l + m + n = 2l + m + 1---> n = l + 1由于哈夫曼树没有度为1的节点,在m...

深度为5的二叉树至多有多少个结点?
2^k-1个。结点最多的时候就是满二叉树情况,所以深度为m的二叉树至多有2^m-1个结点,即2的m次方-1个。^最少k个,最多2^k-1个,因为没有说明这是什么二叉树。如果是满二叉树那就是2^k-1个。如果是完全二叉树,那最少是2^k个,最多2^k-1个。如果既不是满二叉树,也不是完全二...

二叉树中叶子结点数为几?
叶子节点数为五。首先由明确二叉树的基本概念以及度的基本概念。1、二叉树:在计算机科学中,二叉树是每个结点最多有两个子树的树结构。2、度:一个节点的子树数目,如果有一个子树那么度为1,如果没有则度为零(叶子节点),如果度为2就是有两个子树。计算常用公式 设二叉树度为1节点个数为N1,...

完全二叉树的叶子结点是多少个?
深度为5的完全二叉树的叶子的确是16个,但是分支结点是15个。二叉树是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树。

一棵有124个叶子结点的完全二叉树,最多有( )个结点。
【答案】:B 由N0=N2+1可知N2=123;N=N0+N1+N2+1=247+N1,其最大值为248(当N1=1时结点最多)。注意,由完全二叉树结点总数的奇偶性可以确定N1的值,但不能根据N0来确定的N1值。

遵化市19477889801: 有一棵二叉树,其1度结点有M个,2度结点有N个,则此二叉树的结点总数是多少 -
隆翔复方:[答案] 二叉树总结点=度为0的结点个数(叶子结点)+度为1的结点个数+度为2的结点个数; 叶子结点的个数总是比度为2的结点个数多1个; 所以结果是M+N+N+1=M+2N+1

遵化市19477889801: 若一棵完全二叉树的第4层(根结点在第0层)有7个结点,则这棵完全二叉树的结点总数是 . -
隆翔复方:[答案] 完全二叉树除了最后一层,是一棵满二叉树,其节点数为2^k-1,k是层数 根据题目,除了最后一层,上面还有4层,所以节点数为2^4-1,就是15 加上最后一层的7个节点,共22个节点

遵化市19477889801: 一棵n个结点的完全二叉树的分支结点个数为……(详解) -
隆翔复方:[答案] 度不为零的结点称分支结点 假设n0是度为0的结点总数(即叶子结点数),n1是度为1的结点总数,n2是度为2的结点总数,由二叉树的性质可知:n0=n2+1,则n= n0+n1+n2(其中n为完全二叉树的结点总数),由上述公式把n0消去得:n= 2n2+n1...

遵化市19477889801: 二叉树中,度为1的结点有15个,度为2的结点有16个,求结点总数. -
隆翔复方:[答案] 设二叉树中度为0,1,2的结点分别有N0,N1,N2个,总结点数为N. (二叉树中结点数满足N0=N2+1.) 总结点数N=N0+N1+N2,将上式代入,即=N2+1+N1+N2=2*N2+N1+1 根据你给的题,结点总数=2*16+15=47

遵化市19477889801: 一棵完全二叉树共有个节点,该二叉树有多少叶子节点?怎么算,谢谢 -
隆翔复方: 满意答案望远镜8级2010-03-22完全二叉树看是几层的,比如3层完全二叉树,就有7个结点,结点总数是(2的3次方)减1个;叶子结点数是2的(3减1次方)个,就是4个.如果是n层完全二叉树,结点总数是(2的n次方)减1个;叶子结点数是...

遵化市19477889801: 告诉了一棵完全二叉树的总结点个数,求叶子结点个数怎么计算?设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点个数为?怎么计算, -
隆翔复方:[答案] 首先需要求出这棵树的深度.也就是说这棵树有多少层. 完全二叉树有一个性质: 具有n个结点的完全二叉树的深度为log2n(2是下标)+1. 根据这个性质,就可以求得完全二叉树的深度为10 10层满二叉树的总结点数为1023,最后一层的结点数应该是2的...

遵化市19477889801: 数据结构二叉树一棵二叉树中共有70 个叶子结点与80 个度为1的结点,则该二叉树中的总结点数为多少?其计算公式是什么? -
隆翔复方:[答案] 已知公式 1结点总数n=n0+n1+n2 2 n0 = n2+1 得到n=2n0+n1-1 no = 70 n1 = 80 n = 219

遵化市19477889801: 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为多少 -
隆翔复方: 二叉树性质:N0 = N2 + 1,叶子结点个数等于度为2的结点个数 + 1. 完全二叉树度为1的点要么为0 ,要么1 , N0 + N1 + N2 = 699 如果N1= 1,则N0 = 699 /2 ,不为整数. 所以N1为0 , N0 = 350另外,根据满二叉树的深度为K的结点总数为2^K -1也可以算. 699 介于511 1023之间,该树有10层,前9层有511个结点,第10层叶子结点为 699 - 511 = 188. 第9层叶子结点 = 256(第9层结点总数) - 188 / 2 (9层每个结点有两个子树) = 156 -94 =162 . 总叶子结点树为162 + 188 = 350

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网