首页 > 试题广场 >

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

[单选题]
一颗完全二叉树上有1001个结点,其叶子结点的个数是(        )
  • 250
  • 501
  • 254
  • 505
完全二叉树1001个结点,总共有2n -1层,计算层数为8层,叶子全满时为1024-1个结点,因此最下面的一层有1023-1001=22个结点没有叶子,往上推一层,就是上面一层有11个叶子结点,因此一共有27 -11=512-11=501个叶子结点。
发表于 2017-06-30 12:16:48 回复(1)
更多回答
因为完全二叉树的节点有1001个,除去根节点就只有1000个,偶数,所以没有度数为1的节点
点方程:n0 + n1 + n2 = 1001
边方程:1001 - 1 = 2 * n2 + 1 * n1
其中:n1 = 0
得:n0 = 501 
发表于 2017-09-18 21:54:55 回复(0)
如果完全二叉树共k层,那么k-1层满足满二叉树性质,共有节点数量为2^(k-1)-1,根据上述公式则可以判断本题共有10层。
其中第1~9层共有节点2^(9)-1=511个节点。则第10层节点数为1011-511 = 490。继而得出第9层非叶子节点数为490/2 = 245。又因为第9层共含有2^8 = 256个节点,因此第9层含有叶子节点数为256-245 = 11.
所以共含有叶子节点数量为第9层和第10层的叶子节点数量和,即为490+11 =501。
发表于 2017-08-28 10:06:20 回复(3)
完全二叉树最后一个分支结点的编号为n/2向下取整,所以叶子结点的个数为1001-1001/2=501
发表于 2017-09-05 15:40:58 回复(0)
因为节点数为奇数个,所以没有度为1的结点。这个结论很明显。又因为度为2的结点数比度为0的结点(叶子结点)少1个,所以分为501和500。
发表于 2017-06-15 23:56:50 回复(0)
如果是满二叉树就对应1023个节点,所以最后一层上如果满的话应该有512个节点,现在少了1023-1001=22个节点,所以最后一层上有512-22=490个节点,毋庸置疑最后一层上都是叶子节点,然后少了的22个节点对应到倒数第二层就应该是22/2=11个叶子节点(一个父节点有左右两个子节点),所以总共是490+11=501个叶子节点。
发表于 2020-03-19 10:25:38 回复(0)
我当时的想法是,满二叉树的结点数为2 ^ n - 1,所以如果是满的,那么为1023个,但现在是1001,说明最后一层空了22个结点。最后一层有512 - (1023 - 1001) = 490个结点。最后一层空了22个结点,所以倒数第二层有11个叶子结点。490 + 11 = 501。
发表于 2021-04-24 15:15:45 回复(0)

对于这类题型:
第一步:根据节点数量n的奇偶性,确定度为1结点n1的个数

  1. n 为 奇数, n1 = 0
  2. n 为 偶数, n1 = 1

第二步:根据二叉树度的性质:

  1. n0 + n1 + n2 = n
  2. n0-1 = n2

第三步: 口算得出结果

发表于 2020-11-27 20:23:10 回复(0)