昨年から続いているアルゴリズムイントロダクション輪講も、早いもので次は18章です。18章のテーマはB木(B Tree, Bツリー) です。B木はマルチウェイ平衡木(多分木による平衡木)で、データベースやファイルシステムなどでも良く使われる重要なデータ構造です。B木は一つの木の頂点にぶら下がる枝の本数の下限と上限を設けた上、常に平衡木であることを制約としたデータ構造になります。 輪講の予習がてら、B木を Python で実装してみました。ソースコードを最後に掲載します。以下は B木に関する考察です。 B木がなぜ重要なのか B木が重要なのは、B木(の変種であるB+木*1など)が二次記憶装置上で効率良く操作できるように設計されたデータ構造だからです。データベースを利用するウェブアプリケーションなど、二次記憶(ハードディスク)上の大量のデータを扱うソフトウェアを運用した経験がある方なら、いかにディ
アルゴリズムとデータ構造 演習第 11 回 サーチ2(平衡木) 平衡木(へいこうぎ) (アルゴリズムC 第2巻 p.27) として 2-3-4 木 (アルゴリズムC 第2巻 p.28) を扱います。 通常の木とは違い、バランスのとれた(平衡した)木を作ることができます。 木が平衡している(木の高さが低い)と、 データの探索を速く行うことができます。 問題1 [印刷用 PostScript] (1) 次のデータから 2-3-4 木を作成しなさい。 ただし、途中の過程も書くこと。 C O C A C O L A (2) (1) で作成した木を赤黒木で書き直しなさい。 演習第7回でやったような二分木の作り方では、 バランスの悪い偏った木ができることがある。2-3-4 木を用いれば、 バランスのとれた(平衡した)木を作ることができます。 二分木では という手が二本のノード(2-ノード)だけでしたが
As of 24 June 2006 every important rule which the applet uses to execute an insertion or deletion step is displayed in a textfield prior to its graphical rendering. We believe this will help understand the complex interaction of rules and current tree configuration, especially in the case of deletion. Rules have numbers which correspond with detailed explanations at the bottom of this page (s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く