int height(const Tree& T, const Position& p) {
if (p.isExternal()) return 0; // leaf has height 0
int h = 0;
PositionList ch = p.children(); // list of children
for (Iterator q = ch.begin(); q != ch.end(); ++q)
h = max(h, height(T, *q));
return 1 + h; // 1 + max height of children
}
我的教科书给出了上面的代码,用于查找一般树的高度。如果在整个函数中从未使用过(函数函数/变量从未被调用或使用过),为什么“Tree T”会被发送到函数中?
答案 0 :(得分:1)
我想这与其他功能有某种一致性。例如,函数depth
可以通过从树的根开始并使用DFS来查找该位置来计算位置的深度。