我需要找到使用迭代算法的树中元素的数量,但我发现,从概念上讲,很难写法。
我的做法是,从深层开始,访问儿童节点,然后看这些儿童的孩子们,等等。
这是一部为小树效劳的《第一号法典》,但由于我需要为每一层次的深度增加一个部分,所以它没有真正的解决办法:
// Start the counter at 1 because the root node counts
int size = 1;
for(ITree child1 : root) {
size++;
for(ITree child2 : child1) {
size++;
for(ITree child3 : child2) {
size++;
for(ITree child4 : child3) {
size++;
for(ITree child5 : child4) {
size++;
}
}
}
}
}
return size;