首页 > 试题广场 >

将一棵有100个结点的完全二叉树从根这一层开始,开始进行层次

[单选题]

将一棵有100个结点的完全二叉树从根这一层开始,开始进行层次遍历编号,那么编号最小的叶节点的编号为(根节点为1)

  • 49
  • 50
  • 51
  • 52
推荐
C
最小编号的叶子一定是最后一个节点的父节点的右兄弟节点,最后节点编号100,父节点编号为50,所以答案是51
编辑于 2015-12-10 13:17:04 回复(3)
节点数x:最小叶子节点n
1:1
2:2
3:2
4:3
5:3
6:4
7:4
由此可得节点数为奇数时n=(x+1)/2      节点数为偶数时n=(x/2)+1 
发表于 2019-09-26 08:52:04 回复(0)
完全二叉树中,对于编号为i的父结点,左孩子编号为2*i',右孩子编号为2*i+1;
编号为100的节点对应的父节点编号为50,故最小叶子节点编号为51
发表于 2015-08-09 21:18:29 回复(0)
深度为6的满二叉树的节点数为 2^6 - 1 = 63;
深度为7的满二叉书的节点数为 2^7 - 1 = 127;
因此含有100个节点的完全二叉树的深度为7,叶子节点分布在第6层和第7层。
第七层叶子节点数为:100 - 63 = 37;
37 / 2 = 18余1;
因此,第6层的前18个节点是2度节点,第19个节点是1度节点即只有左子树,没有右子树,即第6层前19个节点为非叶子节点,之后为叶子节点。
因此编号最小的叶子节点编号为:2 ^5 - 1 + 19 + 1 = 51.
其中,2^5 - 1位前5层非叶子节点数(由满二叉树的节点计算公式得出)。
发表于 2015-08-22 12:09:17 回复(2)
我来说下最全面点的解答吧,也看了上面的回答,二话不说直接说公式也不指明在什么情况下使用,真的有失公正。
首先,知道父亲节点编号n,计算孩子节点编号的公式分两种情况。第一,从1开始编号,那么左右孩子编号分别是2n和2n+1。第二,从0开始编号,左右孩子编号分别是2n+1和2n+2。
题目,根节点从1开始编号,那么100的父亲节点编号用100/2=50,且100必是父亲节点的左孩子,因为100整除以2。所以,51编号没有左右孩子。


发表于 2018-06-09 20:23:34 回复(2)
根据二叉树的性质 n0 = n2 + 1 ,可以求出 n0 = 50 叶节点有 50 个,总共100个节点 , 那么就是从 51开始编号
发表于 2015-12-09 22:56:15 回复(0)
完全二叉树的特性:
节点n的左子树和右子树分别是2*n、2*n+1
所以,节点100的父节点是50,所以51就为叶节点
发表于 2017-08-28 11:09:04 回复(0)
1.叶子节点是没有子节点的节点
2.全部100个节点说明二叉树并没不是满二叉树,有第六层(最深度数7)部分的节点同样为叶子节点
3.第100个节点是其父节点第50节点(规律自寻)的左子树,所以从第51号节点到63号节点都是叶子节点
4.综上可知最小叶子节点是51
编辑于 2015-08-07 23:17:01 回复(0)
最小的叶节点是为最后的结点(n)的父节点的下一个结点,所以为(n/2) + 1。
发表于 2020-08-04 23:20:50 回复(0)
  1. 100个节点的完全二叉树有7层;
  2. 6层及以上的节点数共63个,因此最后一层有37个节点;
  3. 37个节点共需19个父节点,因此倒数第二层的第一个叶子节点是该层第20个节点;
  4. 上5层的总节点数是31,那么第6层第20个节点是51。
发表于 2017-03-25 10:24:47 回复(0)
度为0的节点个数为n0,度为1的个数为n1,度为2的个数为n2。n0等于n2加1,n0+n1+n2=100,得到2n2+n1=99。由于是完全二叉树,所以度为1的有0个或者1个,公式不能有小数,所有度为2的有49个,度为1的有一个,叶子节点从51开始
发表于 2016-06-23 22:35:58 回复(0)
//第七层结束编号是127
//第六层结束编号是63
因为127-100=27 所以最小叶子节点肯定在第六层
27/2=13
//也就是说第六层有13个叶子节点
63 - 13 +1 = 51 就是开始的叶子节点
发表于 2016-06-01 20:10:47 回复(0)
六层满二叉树:1+2+4+8+16+32=63,
100-63=37,第7层含有37个节点,37/2=18.5,所以占第6层19个节点,那么第六层的第20个节点为叶子节点,其编号为1+2+4+8+16+20=51
发表于 2023-09-20 09:56:54 回复(0)
链接:https://www.nowcoder.com/questionTerminal/d5e10fc1b47a4534956b9ed71c9b61d9?source=relative
来源:牛客网
首先,知道父亲节点编号n,计算孩子节点编号的公式分两种情况。第一,从1开始编号,那么左右孩子编号分别是2n和2n+1。第二,从0开始编号,左右孩子编号分别是2n+1和2n+2。
题目,根节点从1开始编号,那么100的父亲节点编号用100/2=50,且100必是父亲节点的左孩子,因为100整除以2。所以,51编号没有左右孩子。
编辑于 2022-10-07 10:12:37 回复(0)
知道怎么做 就行了 不用在乎 答案 正确与否
发表于 2022-04-26 12:17:55 回复(0)
完全二叉树的最后一个非终端节点是下取整(n/2),则此节点加1就是最小的叶子节点。
发表于 2020-08-06 08:56:31 回复(0)
完全二叉树: 一颗深度为K,有N个结点,当且仅当每一个结点都与深度为K的满二叉树中编号从1到N的结点一一对应。
如果是叶子结点,那么完全二叉树上的叶子节点编号是连续的。
已知节点数是100(偶数),---->   n1=1,n0=50,n2=49
从51-100 一共50个数,所以最小编号的叶子节点是51


发表于 2019-08-28 15:33:34 回复(0)
完全二叉树结点总数100=n0+n1+n2,n2=n0-1,n1=0或1,所以n0=(100-n1+1)/2,n0是整数,前面这个式子应该能够整除,所以n1=1,n0=50,则第一个度为0的结点也即第一个叶子结点编号为51。不知道这样理解可不可以
发表于 2018-09-12 10:26:50 回复(0)
100是偶数,证明这个完全二叉树的父节点只有一个左孩子,而该父节点的下一个结点就是叶子结点,该父节点是50,所以最小的叶节点编号是51
发表于 2018-06-06 13:03:41 回复(0)
n+1+n+1=100,n=49,最后一个度为二的节点编号是49,那么度为1的节点编号是50,叶子节点最小的编号就是51
发表于 2017-09-05 14:15:20 回复(0)
按照等比数列的求和公式可以得到深度为k的满二叉树的节点数为2^k-1个
发表于 2017-07-21 16:47:52 回复(0)