因此,您可能已经猜到了,我正在尝试将红黑树转换为 Java 中的 2,4 树。我并没有太多停留在它是如何工作的,而是更多地找出遍历树的最佳方法。
将使用预先构建的红黑树,因此我必须以某种方式从每个节点收集信息,然后逐个节点构建新的 2,4 树。
我正在考虑使用基于数组的实现作为“过渡”阶段。因此,例如在 array[i],它的左孩子是 array[i(*2)],它的右孩子是 array[(i*2)+1)]。然后遍历数组并通过获取其信息(即它是否具有红色或黑色子/父)从那里构建 2,4 并形成每个 2,4 节点。
这似乎效率很低,但到目前为止,这就是我所能想到的。
还有其他建议吗?