私は自分のバージョンの赤黒木を実装してきましたが、そのほとんどはWikipedia(http://en.wikipedia.org/wiki/Red-black_tree)のアルゴリズムに基づいています。ほとんどの部分はかなり簡潔ですが、明確にしておきたい部分が1つあります。
2つの非リーフ(非NULL)の子を持つツリーからノードを消去すると、どちらかの側の子を削除可能なノードに移動し、その子を削除するように指示されます。
それに基づいて、どちらの側から削除するかについて少し混乱しています。サイドをランダムに選択しますか、サイドを交互に選択しますか、それとも将来の削除ごとに同じサイドに固執しますか?