「B木」の版間の差分
削除された内容 追加された内容
F-mikanBot (会話 | 投稿記録) m ロボットによる: 良質な記事へのリンク de:B-Baum |
Penn Station (会話 | 投稿記録) m link fix |
||
1行目:
'''B木'''(びーき、
実システムでも多用されており、[[データベースマネージメントシステム]]の多くはB木による索引を実装している(B木の改良型または亜種である[[B+木]]や[[B*木]]を使うことが多い)。
== 構造 ==
[[
多分木の平衡木(バランス木)である。1 ノードから最大 ''m'' 個の枝が出るとき、これをオーダー ''m'' のB木という。後述する手順に従って操作すると、根と葉を除く「内部ノード」は最低でも ''m'' /2 の枝を持つことを保証できる。
各ノードは、枝の数 - 1 のキーを持つ。枝<sub>1</sub> ~ 枝<sub>''m''</sub> と キー<sub>1</sub> ~ キー<sub>''m'' -1</sub> を持つとき、枝<sub>''i''</sub> には キー<sub>''i'' -1</sub> より大きく キー<sub>''i''</sub> より小さいキーだけを保持する(キーの重複を許す場合はどちらかに等号をつける)。
葉ノードの定義は文献によって違いが見られる。木の終端を[[
ノードはページと呼ばれることもある。特にハードディスクドライブなどの外部記憶装置を使ってB木を実現する場合によく見られる。この場合、各ノード(ページ)のサイズが、外部記憶装置のブロックサイズの整数倍になるようにオーダーを調整することが多い。
28 ⟶ 27行目:
=== 挿入 ===
[[
<!--[[
検索の処理を行うことで、挿入しようとする値が木のどこに位置するべきかがわかる。まだ登録されていない値を検索した場合、処理は必ず葉ノードまで達することに注意。すなわち、挿入処理は常に葉ノードを対象として開始される。ノードにまだ新たなキーを登録する余地がある場合、キーを追加して挿入処理は終了する。
50 ⟶ 49行目:
== 外部リンク ==
{{Commonscat|B-Trees}}▼
* [http://www.cl.cam.ac.uk/~smh22/docs/ubiquitous_btree.pdf Bトリーの普遍性について(英語)]
▲{{Commonscat|B-Trees}}
{{DEFAULTSORT:Bき}}
[[Category:データ構造]]
[[Category:データベース]]
{{Link GA|de}}
[[ca:Arbre-B]]
[[cs:B-strom]]
|