タグ

datastructureに関するtaketyanのブックマーク (5)

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    taketyan
    taketyan 2012/01/08
    これでハッシュテーブルの一般的な実装について調べよう
  • 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
    帰ったら読む.
  • Ruby で BinaryTree (二分木) を実装してみた | Born Too Late

    この記事は個人的なメモです. を読んでいて, 構造体の章に出てきた BinaryTree がよくわからないので, とりあえず Ruby で実装してみた. 単語をキーに, その回数を数えるだけの単純なプログラム. BinaryTree::Node クラス ツリー構造のノードを表すクラス. 単語, 回数, そして左/右のノードをプロパティとして持ちます. RSpec せっかくなので BDD (振る舞い駆動開発) の練習. 実行するとこのようになります. $ rspec binarytree_spec.rb --format doc BinaryTree::Node with word "foo" and no children it should behave like Node with word "foo" word should == "foo" it should behave lik

    Ruby で BinaryTree (二分木) を実装してみた | Born Too Late
    taketyan
    taketyan 2011/02/06
    Blogged. コードレビュー希望. (RSpec も含め).
  • 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