アルゴリズムとプログラミング
B木(B-tree)の特徴として最も適切なものはどれか。
ア.各ノードに高々2つの子しか持てない二分探索木の一種である。
イ.各ノードが複数のキーと子を持ち、全ての葉が同じ深さになる自己平衡木である。正解
ウ.挿入・削除時に左右の高さの差を1以内に保つAVL木と同一の構造をとる。
エ.根から葉へのパスが一定にならず、探索効率は挿入順序に依存する。
解説
B木は「大人数のフォルダ整理システム」。1つのノードが複数の書類(キー)を持ち、すべての引き出し(葉)が同じ深さにある整然としたファイリングキャビネットです。
なぜ イ が正解か
B木はデータベースインデックスやファイルシステムで広く使われる平衡多分木です。主な特徴は以下の通りです。 ① 各ノードが最大m個(次数mのとき)の子を持てる ② すべての葉ノードが同じ深さ(平衡が保たれる) ③ 根以外の内部ノードは最低⌈m/2⌉個の子を持つ ④ ディスクI/Oを最小化するためにノードサイズをブロックサイズに合わせられる B+木ではすべてのデータが葉に格納され、葉がリンクリストで連結されています。
出典: AI生成問題(学習用)