【问题标题】:Height of a Balanced Binary Search tree平衡二叉搜索树的高度
【发布时间】:2014-01-16 21:22:34
【问题描述】:

为什么在平衡二叉搜索树中到达元素的最长时间是 log n,而实际上,完美平衡的树有 1、3、7、15 个元素(即 1 小于 2 的倍数) . Why is the height of a balanced binary search tree log(n)? (Proof) 这里给出的答案是假设我们有 2^N 个节点(2 的倍数)

但是,如果我们将这些奇数记录下来,我们将不会得到一个整数的高度!

问题:

它真的是 log(n+1) 但是我们丢弃 +1 因为它在巨大的 n 时可以忽略不计?

【问题讨论】:

    标签: tree binary-tree


    【解决方案1】:

    它是最低上限,这意味着它达到了一些 n。请注意,具有根的平凡树仅将高度定义为 0,而不是您可能假设的 1。例如。具有 3 个元素的完美平衡树的高度为 1,而具有 4 个元素的树的高度为 2,即 log(4)。

    【讨论】:

      【解决方案2】:

      常量从O(..) 符号中删除,除非它们很重要。在您的示例中,添加 + 1 不会影响运行时,因此我们将讨论 O(log n) 而不是 O(log n + 1)

      无论如何,在平衡二叉树中查找元素是O(log n),因为在每一步中,您都将需要搜索的树的大小减半。这个大 O 表示法表示算法的运行时间随着 n 的增长,它不是用来计算您将执行的操作数量的方式(因为可能涉及一些额外的操作等)。

      请注意,您链接到的问题是关于 2 ^ N 叶节点,因此具有 2 ^ 2 = 4 叶节点的平衡二叉树总共有 7 个节点。其他问题中N 的含义与本问题中n 的含义不同。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-13
        • 1970-01-01
        相关资源
        最近更新 更多