【问题标题】:What is the formula for the minimum number of nodes in a red-black tree of height h?高度为 h 的红黑树中的最小节点数的公式是什么?
【发布时间】:2017-06-27 04:44:08
【问题描述】:

我读到它是 log(n+1)

目前我知道:

对于 h = 1,最小节点数 = 2。

对于 h = 2,最小节点 = 4。

对于 h = 3,最小节点 = 10。

然而,这些纯粹是通过使用红黑树的规则来追踪它来完成的。

在试图找到这个时我应该注意黑色高度还是我的方法/计算完全错误?

【问题讨论】:

    标签: algorithm binary-search-tree red-black-tree


    【解决方案1】:

    我们可以递归地找到最小节点数。
    count_minimum_node 将返回达到高度 h 的节点数。

    int count_node(int h) 
    {
        int sum = h;
        for(int i=1; i<=h-2; i++) sum += count_node(i);
        return sum;
    }
    
    int count_minimum_node(int h) { return count_node(h+1); }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-29
      • 1970-01-01
      • 2013-10-21
      • 2013-03-13
      • 2014-03-16
      • 2017-02-10
      • 2021-07-04
      • 2011-09-18
      相关资源
      最近更新 更多