一个C语言树的问题。

来源:百度知道 编辑:UC知道 时间:2024/06/30 12:17:13
已知在一棵含有n个结点的树中,只有度为k的分支结点和度为0的叶子结点。试求该树含有的叶子结点的数目?
求详细的解释。

n个结点的树,其中叶节点假设有x个。 那么度为k的分支结点有 (n-x)个, 所以有 (n-x)*k个结点是其它节点的子节点。 所以总共有 1+(n-x)*k个结点
也就是 1+ (n-x)*k = n 解出来 x = (1+nk-n)/k = n -(n-1)/k

给你我总结的公式
k^0+k^1+k^2+....k^m=n
叶子结点数为k^m=(n(k-1)+1)/m
楼上说的比较好
在一个树里,每个结点都有度,叶子节点度为0,根据这个建立结点,度,总结点的关系,解方程可以了~~
有问题留言

每个分支节点都有k个子节点 设有x个分支节点

所以叶子节点数为 (k*n+1-n)/k=n-x => n-1=k*x => x=(n-1)/k

所以 叶子节点数目为 n-x=n-(n-1)/k