C语言问题:一棵二叉树中共有90个叶子结点与10个度为1的结点,则该二叉树中的总结点数为?

来源:百度知道 编辑:UC知道 时间:2024/05/24 18:29:35
C语言高手帮忙解答一下吧,列出具体过程,万分感谢!

设总的节点数位n,度为2的节点数为m,则根据下面两个条件可得:
1。度为2的节点数+度为1的节点数+叶子节点数=总节点数
2。一个二叉树共有总节点数-1个叉,每个度为2的节点有2个叉,度为1的节点有1个叉,叶子节点没有叉,所以可知度为2的节点数*2+度为1的节点数=总节点数-1

由上述可得方程组:
m+10+90=n
m*2+10=n-1
联力计算可得m=89,n=189.
具体的程序你就自己写一下吧,我就只给你这个算法了。

我今天前学了个方法 任一二叉树中度为0的结点总比度为为2的多一个 所以度为2的节点数为叶子节点(度为0的节点)减1 题中为89 所以总结点数为90+89+10为189 我也是新手 这段时间正在猛补这个 献丑了