在一个由节点表示的通用树中,这些节点具有指向其父节点、兄弟节点和第一个/最后一个子节点的指针,如下所示:
class Tnode {
def data
Tnode parent = null
Tnode first_child = null, last_child = null
Tnode prev_sibling = null, next_sibling = null
Tnode(data=null) {
this.data = data
}
}
是否可能在不使用任何额外的辅助结构(如队列)的情况下进行迭代(非递归)广度优先(层次遍历)遍历。
基本上:我们可以使用单个节点引用进行回溯,但不能保留节点集合。能否完成是理论问题,但更实际的问题是在大段上是否可以高效地完成而不需要回溯。
|E|=|V|-1
,因此O(|E|+|V|)= O(|V|)
。(仅供参考) - amit