【问题标题】:Convert a Red Black Tree into a 2, 4 tree将红黑树转换为 2、4 树
【发布时间】:2012-10-11 04:21:39
【问题描述】:

所以你可能已经猜到了,我试图在 Java 中将一棵红黑树转换为一棵 2,4 树。我并没有太拘泥于它是如何工作的,而是更多地想找出遍历树的最佳方法。

将使用预先构建的红黑树,因此我必须以某种方式从每个节点收集信息,然后逐个节点构建新的 2,4 树。

我正在考虑使用基于数组的实现作为“过渡”阶段。例如,在array[i],它的左孩子是array[i(*2)],它的右孩子是array[(i*2)+1)]。然后遍历数组并通过获取其信息(即它是否具有红色或黑色子/父)从那里构建 2,4 并形成每个 2,4 节点。

这似乎效率很低,但到目前为止,这就是我所能想到的。

还有其他建议吗?

【问题讨论】:

    标签: java data-structures red-black-tree


    【解决方案1】:

    this question

    具体“一个黑色节点有两个黑色孩子是一个2节点,一个黑色节点有一个红色孩子是一个3节点,一个黑色节点有两个红色孩子是一个4节点” - 你可以直接使用这个转换。

    【讨论】:

      猜你喜欢
      • 2016-06-27
      • 2023-03-03
      • 2016-03-18
      • 2019-07-09
      • 2012-02-04
      • 2018-08-05
      • 1970-01-01
      • 2018-06-30
      • 2010-09-06
      相关资源
      最近更新 更多