0
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”发送到函数中?

4

1 回答 1

1

我想这是为了与其他功能保持某种一致性。例如,一个函数depth可能会通过从树的根开始并使用 DFS 找到该位置来计算位置的深度。

于 2013-05-19T23:39:23.633 回答