假定在一棵二叉树中,度为2的结点数为15,度为1的结点数为30,则叶子结点数为( )个
时间: 2023-08-13 17:07:28 浏览: 554
很强的资源:数据结构题库+答案
4星 · 用户满意度95%
假设二叉树共有n个节点,则:
- 度为2的节点有15个,则这棵树中至少有15个节点的度为2,那么这15个节点的子节点共30个(每个度为2的节点有2个子节点),即这15个节点占用了30个节点的度数。
- 度为1的结点有30个,则这30个节点的子节点共30个,即这30个节点占用了30个节点的度数。
- 整棵树的度数为2n-2,即根节点的度数为2,其余节点的度数为1或2。
根据以上信息,可以列出一个方程:
15×2 + 30×1 + 叶子结点数×0 = 2n-2
化简得:n = 45 + 叶子结点数
又因为每个叶子结点的度数为0,所以整棵树的度数为叶子节点数目。因此:
2n-2 = 叶子结点数
将上面两个式子代入得:
n = 45 + 2n-2
化简得:
n = 47
因此,整棵树共有47个节点,叶子结点数为:
叶子结点数 = 2n-2 - 度为1的结点数 - 度为2的结点数
叶子结点数 = 2×47-2 - 30 - 15
叶子结点数 = 64
因此,叶子结点数为64个。
阅读全文