这不完全是家庭作业,但我需要在课堂上理解它 . 语言并不重要,伪代码就没问题了 .
编写“静态K-ary”树类的递归成员函数,该函数计算树中节点的数量 .
我认为签名看起来像这样:
int countNodes(Node<AnyType> t, ctr, k){}
我不知道如何看待k个孩子 . 在二叉树中,我会检查左右 . 谁能举个例子呢?
您可以将递归方程视为:
从节点开始的节点总数为 1 + number of total children . 然后可以找到总节点数,如下所示:
1 + number of total children
def count(node): numOfNodes = 1 for child in node.children: numOfNodes += count(child) return numOfNodes
伪代码:
count(r) result = 1 for each child node k result = result + count(k) return result
2 回答
您可以将递归方程视为:
从节点开始的节点总数为
1 + number of total children
. 然后可以找到总节点数,如下所示:伪代码: