一棵完全二叉树上有1001个结点,其中叶子结点的个数是

作者&投稿:并衫 (若有异议请与网页底部的电邮联系)
若一棵二叉树有11个叶子结点,则该二叉树中度为2的结点个数是?~

节点个数是10。
1、总结点数n = n0+ n1 + n2,总结点数等于叶子结点数+度为1的结点数+ 度为2的结点数。另外,考虑一下二叉树中的线,度为1的结点出去的线为1,度为2的结点线出去的为2。每个结点除根结点外都有一条线进入,所以n-1 = 2n2 + n1。
2、在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。
3、二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2^{i-1}个结点;深度为k的二叉树至多有2^k-1个结点;对任何一棵二叉树T,如果其终端结点数为n_0,度为2的结点数为n_2,则n_0=n_2+1。

首先,一楼回答是正确的,我来给他通俗一下,使它的回答更容易理解。
答:想象着对完全二叉树进行编号(从1开始,从上到下,从左到右)。
完全二叉树中第一个非叶子结点的编号=树中最后一个节点的编号 / 2

第一个非叶子结点编号为2,即非叶子节点有两个。那么,叶子节点个数 = 总节点个数 - 非叶子结点个数 3 = 5 - 2;
题目: 叶子结点 = 1001 - 1001 / 2 = 501

首先,一楼回答是正确的,我来给他通俗一下,使它的回答更容易理解。

答:想象着对完全二叉树进行编号(从1开始,从上到下,从左到右)。

完全二叉树中第一个非叶子结点的编号=树中最后一个节点的编号 / 2

第一个非叶子结点编号为2,即非叶子节点有两个。那么,叶子节点个数 = 总节点个数 - 非叶子结点个数    3 = 5 - 2;

题目: 叶子结点 = 1001 - 1001  /  2 = 501



n = n。+ n1 + n2
( n: 总结点个数
n。:无孩纸的结点个数(即叶子结点)
n1:有一个孩纸的结点个数
n2:有两个孩纸的结点个数
结点要么有两个孩纸,要么一个,要么没有)
由完全二叉树性质可知,若给每个结点依次序标上1~n序号,序号为 i 的结点(假设有两个孩纸存在)其左孩纸序号为 2i(皆为偶数),右孩纸序号为 2i + 1 (皆为奇数)
故 1001 为右孩子,其父结点序号为 500 ( 2i + 1 = 1001 解得 i = 500 )
故n2 = 500 (按规律501的孩纸序号应为501 * 2 = 1002 和 1003, 此题一共只有1001个结点,故501 没有孩纸)
n1要么为 0 要么为 1 ,奇数个结点时为最后一个叶子结点为右孩纸,偶数个结点时最后一个为左孩纸
此时 n1 = 0 (1001是右孩纸)
n = n。+ n1 + n2
1001 = n。+ 0 + 500
n。= 501

设二叉树中度为0的叶子结点个数为n0,度为1结点个数为n1,度为2结点个数为n2,于是n0 + n1 + n2 = 1001
根据二叉树性质:n0 = n 2 + 1,代入得到,2n2 + 1+ n1 = 1001
由于完全二叉树的n1 只能是0或者1,为满足2n2 + 1 + n1 = 1001,n1 =0,因此n2 = 500
所以n0 = 501,即叶子个数是501个

由完全二叉树性质可知,若给每个结点依次序标上1~n序号,序号为 i 的结点(假设有两个孩纸存在)其左孩纸序号为 2i(皆为偶数),右孩纸序号为 2i + 1 (皆为奇数),故 1001 为右孩子,其父结点序号为 500 ( 2i + 1 = 1001     解得  i  = 500 ),故n2 = 500 (按规律501的孩纸序号应为501 * 2 = 1002 和 1003, 此题一共只有1001个结点,故501 没有孩纸),n1要么为 0 要么为 1 ,奇数个结点时为最后一个叶子结点为右孩纸,偶数个结点时最后一个为左孩纸。

具体如下:

1、简介

完全二叉树的定义、性质以及算法见正文。这里补充一点:完全二叉树是效率很高的数据结构,堆是一种完全二叉树或者近似完全二叉树,所以效率极高,像十分常用的排序算法、Dijkstra算法、Prim算法等都要用堆才能优化,几乎每次都要考到的二叉排序树的效率也要借助平衡性来提高,而平衡性基于完全二叉树。

2、判断完全二叉树

完全二叉树:叶节点只能出现在最下层和次下层,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树

3、完全二叉树定义

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



换种思路:
跟这个同一深度的满二叉树的结点数为1023,其中最后一行512个
而这个1001个少了22个,少在了最后一行,所以这缺失的22个的父结点都是叶子,共22/2=11个
而这一行剩下512-22 = 490个叶子,
所以总共490+11=501个叶子结点
或者直接想"原本应该度为2的22个结点变成了叶子结点相当于少了22/2个叶子结点"所以512-22/2 = 501
(第一次回答的时候答案算错了512-22/2=490,感谢下面的朋友提醒,现在改过来了,笑哭)


完全二叉树的叶子节点数公式是什么?
2、当n为偶数(即度为1的节点为1个), n0= n\/2。n1,n2,都可以求。特殊类型:1、满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。2、完全二叉树:深度为k,有n个结点的二叉树当且仅当其每一个结点都与深度为k的满二叉树...

一棵完全二叉树共有几个结点?
———共1+2+4+8+16+7=38个。补充知识:完全二叉树是指:若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的节点都连续集中在最左边,这就是完全二叉树。完全二叉树是由满二叉树而引出来的。对于深度为K的,有N个结点的二叉树,当且仅当...

有一棵完全二叉树,它有多少个结点?
最多有248个结点。根据完全二叉树性质,叶子结点数n0等于树结点数n的二分之一,即n0=n\/2 ,或叶子结点数n0等于树结点数n加上1之和的二分之一,即n0=(n+1)\/2。两个公式变形得,n=2*n0或n=2*n0-1,题中要求树的最多结点数,即树的结点数等于叶子数的2倍,n=2*n0=2*124=248。

一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )
一棵完全二叉树上有1001个结点,其中叶子结点的个数是11。在完全二叉树中,如果树的高度为h,则节点的总数N为2^h-1。给定完全二叉树有1001个节点,我们可以得出树的高度为10。这是因为2^10-1=1023,大于1001,而2^9-1=511,小于1001。在完全二叉树中,叶子节点是位于最后一层的节点,并且在该...

对于一棵具有n个结点的完全二叉树,若一个结点的编号为i(1≤i≤n...
具有n个结点的完全二叉树,根节点为1,那么它的左孩子为2,右孩子为3,依次类推;若该结点不是根结点则编号为i的结点的父结点为(i\/2向下取整);若该2*i<n,则该结点的左孩子为2*i,同上若2*i+1<n,右孩子为2*i+1。

在二叉树中,根节点的深度是0还是1 啊!在教材上是0,而老师讲的是1
此外,树是现实中抽象出的,倒过来画的,所以往下是高度,往上是深度。从逻辑上来说,根的深度与高度是0(树的深与高就定了)。它们是一个距离概念,是两节点的差。从1开始有一些应用上的好处,比如说高为3层(起始为1)的满二叉树(7个元素),它的节点数就是2^3-1,也即高h则节点数2^h...

一个有2001个结点的完全二叉树的高度为?
由于度为2的结点数和度为0结点数相差为1;所以两者之和必为奇数,现在总结点数为偶数,所以度为1的结点数应为奇数,所以有一个度为1的结点。树的高度为11。由完全二叉树的结点数T与高度h的关系为T = 2^h - 1 可知:2^10 - 1< 2001 < 2 ^11 - 1 所以该完全二叉树的高度为11 ...

设一颗完全二叉树叶子结点数为K,最后一层结点数大于1,则该二叉树高度为...
- 1 度为1的结点个数可能为1,也可能为0 因此该完全二叉树中结点总数为2k 或者2k - 1 原则上说,该完全二叉树的高度为:下取整(log2(2k)) + 1或者下取整(log2(2k-1)) +1 如果不加限制,这两个高度可能会相差1 考虑到最后一层结点数大于1,此时这两个数相等 ...

已知完全二叉树有200个结点,则整个二叉树有几个度为1的结点
完全二叉树的性质决定了,度为1的点要么1个要么0个。200个结点的话,偶数,度为1的点1个。奇数个结点的话,度为1的点0个。本题答案 1.

在深度为7的完全二叉树中,总结点数为111,则度为1的结点个数为_百度知...
127之间 设二叉树中度为0,1,2的结点个数分别为n0,n1,n2,根据二叉树的性质:n0 = n2 + 1 二叉树中总结点个数为n0 + n1 + n2 = 2n2 +1 + n1 现在按条件2n2 + 1 + n1 = 111 显然n1 为偶数,由于是完全二叉树,n1 只能是0或者1 因此n1 = 0 即度为1的结点个数为0 ...

舞阳县17152701072: 一颗完全二叉树上有1001个结点,其中叶子结点的个数 -
夹晴盐酸:[答案] 1023是满二叉树,有512片叶子.1001比1023少22个结点,所以有512-22+22/2=501片叶子. 511是满二叉树,有256片叶子.1001比511多490个结点,所以有256+490-(490+1)/2=501片叶子. 所以答案就是501了.

舞阳县17152701072: 一颗完全二叉树上有1001个结点,求叶子节点个数有种方法为什么能直接除以2向上取整就可以获得正确答案501了, -
夹晴盐酸:[答案] 二叉树性质:n0 = n2 + 1 因为n0 + n1 + n2 = 1001 所以2n2 + 1 + n1 = 1001 由于该等式右边为奇数,左边的n1只能是偶数 又因为完全二叉树中度为1结点个数n1要么是0要么是1 所以只能是0 因此n2 = 500 所以n0 = 501

舞阳县17152701072: 如果知道完全二叉树上有1001个结点,其叶子结点的个数为多少? -
夹晴盐酸:[答案] 深度为9的节点数是511,深度为10的节点数是1023,该树为10层, 最后一层节点是1001-511=490(均是叶子节点),最后一层490个节点对应的第9层得父节点有245个,第9层节点共有256个节点,所以第9层叶子节点有256-245=11个 总的叶子节...

舞阳县17152701072: 求一道关于数据结构的题一棵完全二叉树上有1001个结点,其中叶子结点的个数是? -
夹晴盐酸:[答案] 完全二叉树,叶子数为n(n>=2),则节点数为2*n-1,可以用数学归纳法证明如下:当n=2时,很显然结点数为3(2个叶子,一个父结点),满足;设当n=k时,节点数为2*k-1;则当n=k+1时,因是完全二叉树,在n=k时的情形下,此时某一...

舞阳县17152701072: 一棵完全二叉树上有1001个结点,其中叶子结点的个数是多少? -
夹晴盐酸: 求出所有没有左孩子的节点 即为答案 本题的答案为:5011.一颗完全二叉树结点的序号规则是 从上到下 从左到右,易知 结点n的左孩子为2n例如:结点1的左孩子为2,右孩子为3,结点2的左孩子为2*2=4,右孩子为2*2+1=5以此类推.2.假设有两个结点n,n+1 则 结点n若无左孩子结点 则 n+1 必无左孩子结点例如 一颗完全二叉树共有9个结点 则结点5的左孩子结点为 5*2=10,但是不存在10号结点,所以5号结点无左孩子,以此类推6号孩子亦为左孩子.本题的完全二叉树共有1001个结点,则 501号开始的结点皆无左孩子,即1001-500=501 个结点没有左孩子,没有左孩子的结点即为叶子结点.

舞阳县17152701072: 数据结构,一棵完全二叉树有1001个结点,叶子结点个数是多少,过?
夹晴盐酸: 设二叉树中度为0的叶子结点个数为n0,度为1结点个数为n1,度为2结点个数为n2,于是n0 n1 n2 = 1001根据二叉树性质:n0 = n2 1,代入n0 n1 n2 = 1001得到2n2 1 n1 = 1001由于完全二叉树的n1 只能是0或者1,为满足2n2 1 n1 = 1001,必须n1 =0,因此n2 = 500所以n0 = 501,即叶子个数是501个 等式右边的是奇数,左边也要是奇数啊 你说呢? 无语了

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