差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
programming_algorithm:data_structure:redblacktree [2019/09/13] – [実装] ikatakos | programming_algorithm:data_structure:redblacktree [2019/09/13] – [赤黒木] ikatakos | ||
---|---|---|---|
行 40: | 行 40: | ||
====赤黒木==== | ====赤黒木==== | ||
- | 以下を満たすように木を保つ。いろいろパターン分けがあってややこしいけど、限られた3~4ノードの色の関係性を見ることで、適切に状態を保てる。 | + | 以下を満たすように木を保つ。 |
* 各ノードを赤と黒で(仮想的に)塗り分ける | * 各ノードを赤と黒で(仮想的に)塗り分ける | ||
行 46: | 行 46: | ||
* 赤の子は黒(赤は2つ以上連続しない) | * 赤の子は黒(赤は2つ以上連続しない) | ||
* 根からそれぞれの葉までの経路上にある黒の個数は等しい | * 根からそれぞれの葉までの経路上にある黒の個数は等しい | ||
+ | |||
+ | いろいろパターン分けがあってややこしいけど、平衡が崩れても、限られた3~4ノードの色のパターンを見ることで適切に状態を保てる。 | ||
+ | 詳細は参考の1つめのサイトが丁寧に場合分けを説明されている。 | ||
* 参考 | * 参考 |