就像标题说的那样,我想为树的任何给定级别计算节点数。我已经知道如何使成员函数计数树的所有节点,只是不确定如何达到特定级别。这是我尝试过的。任何帮助表示赞赏。
第一个参数是指向用户输入的字符数组的点。 root是表示“最旧”节点的私有变量。
var studentSchema = newSchema ({
student: {
name : String,
surname : String,
worplace : String,
location : STring
})
答案 0 :(得分:1)
执行此操作的方法是使用队列(使用级别顺序遍历-BFS)。现在,按照以下步骤操作:
采用两个变量count_level和count_queue(将总节点数保持在队列中)。
对于这样的树:
A
/ \
B C
/ \ \
K L D
/
E
最初是count_level = 0
和count_queue = 0
。现在:
count_queue
增加到 1 )。count_level = 0
时,请执行此操作-> count_level = count_queue
。count_level
变为0。因此,在这一点上,请执行以下步骤 2 ,这将为您提供低于已存在节点级别的节点数已处理。