【发布时间】:2013-06-11 13:53:28
【问题描述】:
考虑在N 节点的二叉搜索树上进行后序遍历的时间复杂度。我知道在一般情况下访问所有节点需要O(N),但是当 BST 是一个列表时,最坏情况下的复杂性是多少?我认为它需要O(N^2),因为它将遍历N 节点到达终点,而N 节点回到起点。这意味着N*N = N^2,所以我认为它是O(N^2)。对吗?
【问题讨论】:
-
您可能应该考虑在 BST 上添加一个您理解为 遍历 的示例。如前所述,您正在访问所有节点并返回,这会导致
n + n步骤或O(n)的复杂性。请注意,这会清空 worst 的含义,因为唯一的情况是遍历所有节点并返回。 (有什么比这里的更糟糕?)
标签: search binary-search-tree complexity-theory tree-traversal postorder