おそらくご想像のとおり、私は Java で赤黒木を 2,4 木に変換しようとしています。私はこれがどのように機能するかについてあまり固執していませんが、ツリーをトラバースするための最良の方法を見つけ出すことにもっと取り組んでいます。
事前に構築された redblack ツリーを使用する予定なので、どうにかして各ノードから情報を収集し、ノードごとに新しい 2,4 ツリーを構築する必要があります。
「移行」段階のようなものとして、配列ベースの実装を使用することを考えています。たとえば、array[i] では、左の子は array[i(*2)] で、右の子は array[(i*2)+1)] です。次に、配列をループし、その情報 (つまり、赤または黒の子/親があるかどうか) を取得してそこから 2,4 を構築し、各 2,4 ノードを形成します。
これはかなり非効率に思えますが、これまでのところ、私が思いついたのはこれだけです。
他の推奨事項はありますか?