我有一个构建二叉树的递归Java方法:
BT build() {
return(a[++k] == 0 ? null : new BT(build(), build()));
}
BT是一个看起来像这样的类:
class BT {
BT L; BT R;
BT(BT l, BT r) {
L = l; R = r;
}
}
构建类如何工作?如果我想构建一个具有N个节点的树,那么根据N来调用构建函数多少次?
最佳答案
每次调用build
函数都会创建一个节点或返回null。
在具有N个节点的二叉树中始终有N + 1个空指针。这是因为每个节点都有2个输出边缘,每个节点(除了根节点之外)都有一个输入边缘。
这给出build
的2 * N + 1个调用,以创建具有N个节点的树。
关于java - 如何使用此方法在Java中构建二叉树?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34917105/