recursion - 递归计算k-ary树中的节点

标签 recursion tree

这不完全是家庭作业,但我需要在类里面理解它。语言并不重要,伪代码就可以了。

编写“静态 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/

相关文章:

Javascript递归数组展平

javascript - Javascript 函数中的递归结束得太快

sql-server - 使用 SQL CTE 打印树

javascript - Extjs 6.0 现代: Treelist without store?

algorithm - 检查叶子 c 是否与叶子 a 和 b 在同一子树中的最有效算法

php - 显示所选父项的树形菜单

algorithm - 二叉树的双线程树

python - Python 中的尾递归优化装饰器

sql - 如何正确应用递归CTE?

exception - 不断收到错误信息 "Arguments are not sufficiently instantiated"不明白为什么