【问题标题】:Worst time complexity of a BST (traversing it postorder )BST 的最差时间复杂度(后序遍历)
【发布时间】: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


【解决方案1】:

在您的“最坏情况”情况下(坦率地说,我不明白)它是 N + N = O(N),而不是 N * N = O(N^2)。

【讨论】:

  • 非常感谢!我在CS大学一年级,我还没有做过算法复杂性,所以我不太了解这些东西。再次感谢欧内斯特!跨度>
猜你喜欢
  • 2015-03-24
  • 1970-01-01
  • 2012-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-01
相关资源
最近更新 更多