rb ツリーに問題があります。ウィキペディアによると、rb-tree は次に従う必要があります。
- ノードは赤または黒のいずれかです。
- 根元は黒。(この規則はいくつかの定義で使用され、他の定義では使用されません。ルートは常に赤から黒に変更できますが、必ずしもその逆であるとは限らないため、この規則は分析にほとんど影響しません。)
- 葉はすべて黒い。
- すべての赤のノードの子は両方とも黒です。
- 特定のノードからその子孫の葉のいずれかへのすべての単純なパスには、同じ数の黒いノードが含まれます。
ご存知のように、rb-tree はバランスを取る必要があり、高さは O(log(n)) です。しかし、増加する一連の数字 (1、2、3、4、5...) を挿入すると、理論的には、リストのように見え、すべての O(n) の高さを持つツリーが得られます。これは、上記の rb ツリーのプロパティと矛盾しません。それで、どこが間違っていますか??
ありがとう。