タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

datastructureとalgorithmに関するtaketyanのブックマーク (3)

  • B木 - naoyaのはてなダイアリー

    昨年から続いているアルゴリズムイントロダクション輪講も、早いもので次は18章です。18章のテーマはB木(B Tree, Bツリー) です。B木はマルチウェイ平衡木(多分木による平衡木)で、データベースやファイルシステムなどでも良く使われる重要なデータ構造です。B木は一つの木の頂点にぶら下がる枝の数の下限と上限を設けた上、常に平衡木であることを制約としたデータ構造になります。 輪講の予習がてら、B木を Python で実装してみました。ソースコードを最後に掲載します。以下は B木に関する考察です。 B木がなぜ重要なのか B木が重要なのは、B木(の変種であるB+木*1など)が二次記憶装置上で効率良く操作できるように設計されたデータ構造だからです。データベースを利用するウェブアプリケーションなど、二次記憶(ハードディスク)上の大量のデータを扱うソフトウェアを運用した経験がある方なら、いかにディ

    B木 - naoyaのはてなダイアリー
    taketyan
    taketyan 2011/03/11
    帰ったら読む.
  • B木 (B-tree)

    □ 多レベル索引の一種 挿入や削除のタイミングで動的な再編成が効率良く可能. レベル数は層レコード数 に対して ですむ. □ B-tree よりも後述の B-tree の方が良く使われるが,原理の 理解は B-tree の方が理解しやすいので,先に説明する. 以下ではキー値に重複がないものと仮定する. 定義 8 (B木 (B-tree))   が正整数であるとする.次の B木 (a B-tree of degree ) の 各ノードは次のような情報を持つページで,以下に述べる条件を満たすものである (図 6.5, p112 参照.): はroot ノード以外では である. root ノードでは である. レコード のキー値を で表すとすると, である. レコードは最大で 個まで持てる. はページへのポインタである. (つまり部分木へのポインタである.) 中に現れる全てのレコード

  • Build a Binary Tree in Ruby | Jacob Repp

    Building algorithms in ruby is fun and rewarding. This binary tree doesn’t balance itself but it is simple and flexible using ruby blocks for visit and insert. Traversal style can be selected optionally to visit with :inorder, :preorder or :postorder. Here’s your basic binary tree node representation, it holds a value and connects to a left and right node: class Node # binary tree representation a

  • 1