まず、木の定義:
階層関係のセットは、ノードで構成、ツリーは、ツリーと呼ばれている限り、
ツリーラインとアーティファクト:https://www.cs.usfca.edu/~galles/visualization/
第二に、バイナリツリー:
特性:1)サブツリーを残したすべてのノードの値は、ルートノードの値未満です。
2)右の部分木は、ルートノードとその値のすべてのノードの値よりも大きいです。
例:良い鎖構造を形成します。
第三に、バランスの取れたバイナリツリー(AVL):
特性:二分木に基づいて、1を超えてはならない2つのサブツリーの差の高度が必要1)。
1)各欠失は、バイナリツリーのバランスが一つ以上の回転によるものであろう。
例:123456ノードを再挿入。
第四に、赤黒木:
特性:黒または赤のいずれか1)ノード。
2)タイミング黒根;
3)すべてのリーフノードがnull、およびブラックです。
2つのつの子ノード4)赤のノードは、赤色連続しない2つの黒いありません。
5)パス上のブラックの任意のノード、時定数に等しいです。
PS: JavaのterrMapとTreeSetの赤黒木が達成されます。
五、B木/ B +木。
1)各ノードは複数の値を有し、2つのバイナリビット、三叉神経の3つが、この値を超えると、分子のノードを必要とします。
2)バランスノードの深さを読み取ることIOパスの数を減らすことが可能に減少。
3)記憶ノードにバランスデータが決定され、それは高速です。
六、B +木:
MySQLのインデックスであるB +木達成します。
特徴: 1)は、非子葉ノードデータ、インデックスのみが存在しません。
2)にかかわらず、チェックデータの、葉ノードから取得しなければならないように、回数各クエリは同じです。
3)一度だけ、ハッシュ演算をインデックスのMySQLの値を読み取るので、速度がBツリーよりも高速です。