【问题标题】:What is the maximum height of a Btree as a function of n?作为 n 的函数的 Btree 的最大高度是多少?
【发布时间】:2015-04-25 19:25:53
【问题描述】:

我有以下问题:

对于 1 阶 B 树,树的最大高度为 树中键数 n 的函数?

而且我认为因为树的顺序是 1,这意味着键的数量可以在 1 和 2 之间。因此我选择了一个树,每个节点中只有 1 个键,这样我就可以获得最大高度。添加我得到的每个级别的节点数

2^0+2^1+2^2+...+2^h= n,其中n是节点数,h是树的高度 并解决它我得到高度 h 是 log(n+1) 但我不确定这是正确的答案。 有什么想法吗?

【问题讨论】:

    标签: algorithm tree


    【解决方案1】:

    二叉树的高度h=log(n+1)-1

    这是推导

    这里我假设根的高度为零

    所以

    n=2^0+2^1+2^2........2^h
    

    应用几何级数公式并得到

    h=log(n+1)-1.
    

    这里的对数基数是 2。 因此,当每个级别只有单个节点时。我们可以得到 log(2)base 2, n 次 SO 最大高度变为

    h=n-1 
    

    【讨论】:

      【解决方案2】:

      m 阶 B-Tree 的最坏情况高度是 logm/2n。

      见:http://en.wikipedia.org/wiki/B-tree#Best_case_and_worst_case_heights

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-23
        • 1970-01-01
        • 2019-07-18
        • 1970-01-01
        • 2010-12-10
        • 2012-10-22
        • 1970-01-01
        相关资源
        最近更新 更多