【问题标题】:Why O(N Log N) to build Binary search tree?为什么 O(N Log N) 构建二叉搜索树?
【发布时间】:2011-02-28 13:36:45
【问题描述】:

准备考试。这不是作业问题。

我认为构建 BST 的最坏情况是 O(N^2)。 (每次插入 req N-1 比较,您将所有比较相加 0 + 1 + ... + N-1 ~ N^2)。倾斜的 BST 就是这种情况。

(平衡)BST 的插入是 O(log N),那么为什么最好的情况是 O(N logN) 来构建树?

我的猜测最好的猜测 - 因为单次插入是 log N,而不是对所有插入求和给出 N log。

谢谢!

【问题讨论】:

  • 你已经回答了这个问题:)

标签: binary-tree


【解决方案1】:

正如您所写:) 单次插入是 O(log N)。因为 N 个元素的加权树高度是 log N,所以您最多需要 log N 个比较来插入单个元素。你需要做 N 个这些插入。所以 N*logN。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 2019-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    • 2021-03-07
    相关资源
    最近更新 更多