这不完全是家庭作业,但我需要在类里面理解它。语言并不重要,伪代码就可以了。
编写“静态 K-ary”树类的递归成员函数,用于计算树中的节点数。
我认为签名应该是这样的:
int countNodes(Node<AnyType> t, ctr, k){}
我不知道如何看穿 k 个 child 。在二叉树中,我会检查左右。谁能给我一个这样的例子吗?
最佳答案
你可以把递归方程想成这样:
从一个节点开始的节点总数是1 + 子节点总数
。
那么总节点数可以如下求出:
def count(node):
numOfNodes = 1
for child in node.children:
numOfNodes += count(child)
return numOfNodes
关于recursion - 递归计算k-ary树中的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15316356/