【发布时间】:2015-02-16 10:19:54
【问题描述】:
HERE说明层序遍历方法一的时间复杂度为O(n^2)。有人可以解释一下吗。我不确定作者是如何说 printGivenLevel() 需要 O(n) 的。
“时间复杂度:最坏情况下为 O(n^2)。对于倾斜树,printGivenLevel() 需要 O(n) 时间,其中 n 是倾斜树中的节点数。所以 printLevelOrder() 的时间复杂度是 O(n) + O(n-1) + O(n-2) + .. + O(1) 这是 O(n^2)。"
相反HERE,好像证明是O(n)
【问题讨论】:
-
第二个假设树是平衡的,第一个不做这个假设
-
但是最坏的情况是 O(n^2) .. 你能帮我理解一下吗?
-
@amit 的回答很好地解释了这一点。
-
@amit 的回答很好地解释了这一点。 [2]
标签: algorithm binary-tree tree-traversal