首页 > 试题广场 >

题目来源于王道论坛 已知一棵有2011个结点的树,其叶

[单选题]
题目来源于王道论坛

已知一棵有2011个结点的树,其叶结点个数为116,该树对应的二叉树中无右孩子的结点个数是()。

  • 115
  • 116
  • 1895
  • 1896
推荐

树转换为二叉树时,树中每一个分支结点的所有子结点中的最右子结点无右孩子,根结点转换后也没有右孩子,因此,对应的二叉树中无右孩子的结点个数=分支结点数+1=2011-116+ 1=1896。通常本题应采用特殊法解,设题意中的树是如下图所示的结构,则对应的二叉树中仅有前115个叶结点有右孩子,故无右孩子的结点个数=2011-115=1896。

发表于 2018-09-03 20:25:20 回复(2)
树转换为的二叉树没有右孩子,就说明在原来的树结构该结点没有右兄弟,也就是说,该节点是其父节点最右边的孩子。 有多少个有孩子的节点,就有多少个“最右的孩子节点”,因此2011-116=1895。 此外,对于根节点而言,它没有父节点当然也没有兄弟,因此也是没有右孩子的。所以+1=1896
--------------------- 
作者:zhuhuyou4801 
来源:CSDN 
原文:https://blog.csdn.net/zhuhuyou4801/article/details/76566193 
版权声明:本文为博主原创文章,转载请附上博文链接!
发表于 2019-07-25 12:48:29 回复(2)

普通树转换为二叉树后
1.有子结点的结点有且仅有一个无右孩子的子结点
2.根节点无右孩子
所以:
   对应二叉树中无右孩子的的结点个数 = 有子节点的的结点数 + 1 = 2011 - 116 + 1 = 1896
发表于 2019-02-15 09:40:00 回复(5)
树转化为二叉树的时候,右边没有兄弟的结点在转化后会变成二叉树中没有右孩子的结点。
所以问题就变成去求原来树中有多少右边没有兄弟的结点。
可以知道有多少结点有自己的孩子结点,就有多少右边没有兄弟的结点(因为孩子中一定有一个是在最右边的)。
所以原题中2011个结点减去116个叶子结点(没有孩子)剩下1895个有孩子的结点,就是有1895个右边没有兄弟的结点,它们经过转化将没有右孩子,同时根结点也没有右边兄弟,所以还要+1,就是答案的1896个
发表于 2021-12-29 21:00:25 回复(0)
UIX头像 UIX
不知道这也想对不对:
树中度为2的节点个数=对应的二叉树中有右孩子的节点个数
所以 无右孩子的节点个数=节点总数-树中度为2的节点个数(叶子节点数-1)
即2011-(116-1)=1896
发表于 2018-12-09 17:17:49 回复(4)
在原来的树里,只要一个节点有子节点,就代表在变化成的二叉树里,会出现一个没有右孩子的节点(总有一个孩子是没有右兄弟的)。
发表于 2020-09-22 16:18:32 回复(0)
咱举个特例: 一个扫把形状的树(一脉单传,最后这个能生,生了116个)所有叶子都在最下边一层。根据树与二叉树的转换规则,这些叶子里只有最右边没有兄弟节点了呀。
发表于 2020-05-26 11:59:25 回复(0)
2011节点.每一个节点头上都有一个线.根节点没有.那么一共2010根线.
116个节点是叶子节点.屁股底下没线.
而二叉树中,一些节点屁股低下一根线,一些节点两根线.
鸡兔同笼问题,所以.屁股低下两根线的一共115个节点.相当于他们分给了那116个叶子一点一根线.大家都一根就是2010根.
题目问:屁股低下 小于2根线的有多少节点.
于是2011-115=1896.
发表于 2021-09-01 14:41:04 回复(0)
特殊法,2011个结点,分为1895个中间结点和116个叶结点,按照树转化二叉树选择可以得出无右孩子的结点个数为1895+1=1896。
发表于 2022-07-03 16:12:05 回复(0)
只有度为2的根节点的子节点的左孩子的有有兄弟,因此有右孩子的节点数为116-1=115,无右孩子的为2011-115=1896
发表于 2021-11-07 11:16:45 回复(0)