2个回答
展开全部
将树按照孩子兄弟方法
(左指针指向孩子,右指针指向兄弟)
转化为二叉树可知
在转化的二叉树中度为2的结点个数为n-m-1个(即总结点数去掉叶子和根)
此类结点必然对应一个右孩子为空的结点(即本层最后一个结点)
根结点因为没有兄弟,所以转化为二叉树后右子树为空,加1
原本树最后一层的第一个结点因为没有下一层所以在转化为二叉树时度也为1,但是它会对应一个没有右子树的结点(即最后一层的最后一个结点),加1。
结果为n-m+1,次题还可以提问新构建的二叉树有多少层?也是n-m+1,因为每一个右子树为空的结点就是本层最后一个结点。
其中新构建二叉树中:
度为2的结点个数为n-m-1
度为1的结点个数为2m-n+1
度为0的结点个数为n-m
所以本题也可以用这三类结点个数来求解,即度为0的结点个数+1(根结点),这样就代表了原来树的层数,也就求得了没有右子树的结点个数。
(左指针指向孩子,右指针指向兄弟)
转化为二叉树可知
在转化的二叉树中度为2的结点个数为n-m-1个(即总结点数去掉叶子和根)
此类结点必然对应一个右孩子为空的结点(即本层最后一个结点)
根结点因为没有兄弟,所以转化为二叉树后右子树为空,加1
原本树最后一层的第一个结点因为没有下一层所以在转化为二叉树时度也为1,但是它会对应一个没有右子树的结点(即最后一层的最后一个结点),加1。
结果为n-m+1,次题还可以提问新构建的二叉树有多少层?也是n-m+1,因为每一个右子树为空的结点就是本层最后一个结点。
其中新构建二叉树中:
度为2的结点个数为n-m-1
度为1的结点个数为2m-n+1
度为0的结点个数为n-m
所以本题也可以用这三类结点个数来求解,即度为0的结点个数+1(根结点),这样就代表了原来树的层数,也就求得了没有右子树的结点个数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询