双日练 | 树转换为二叉树时的分支节点问题
Posted CS优化狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了双日练 | 树转换为二叉树时的分支节点问题相关的知识,希望对你有一定的参考价值。
撰稿 | 康康哥
编辑 | 丽丽姐
本文由懂计算机、软件工程的博士师哥提供
已知一棵有2011个结点的树,其叶结点个数为116,该树对应的二叉树中叶结点的个数是( )。
A. 115
B. 116
C. 1895
D. 1896
本题考查:树转换为二叉树,分支结点
该题求解方法很多,以下为求分支结点的方法:
树转换为二叉树时,树中每一个分支结点的所有子结点中的最右子结点无右孩子,根结点转换后也没有右孩子,
因此,对应的二叉树中无右孩子的结点个数 = 分支结点数 +1=2011 - 116+ 1=1896 。
通常本题应采用特殊法解,设题意中的树是如下图所示的结构,则对应的二叉树中仅有前 115 个叶结点有右孩子,
故无右孩子的结点个数 =2011 - 115=1896 。
故选D
考软工 · 看CS优化狮
以上是关于双日练 | 树转换为二叉树时的分支节点问题的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode练习(Python):树类:第108题:将有序数组转换为二叉搜索树:将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的