タグ 赤黒木
人気順 10 users 50 users 100 users 500 users 1000 users世紀末LSM-Treeプチフリ神話の終わり - Software Transactional Memo
凍った木が溶け始める様子をそれっぽく描いてもらった 世紀末LSM-Treeプチフリ神話の終わり Log Structured Merge Tree(以下LSM-Tree)という物をご存知だろうか。データ構造としては順序付きの辞書であり結構昔に発明されており各操作の計算オーダーは赤黒木等と同じである。システム系学会を追っていると無限に亜種が... 続きを読む
数としての赤黒木 - エムスリーテックブログ
エンジニアリンググループの高島(@rst76)です。 社内の勉強会で、計算機科学の有名な教科書、アルゴリズムイントロダクション(Introduction to Algorithms)を輪読しています。 ちょうど赤黒木の章を私が担当したので、要点をかいつまんでご紹介したいと思います。 今回お話したいのは「ある条件の下で、赤黒木は記数... 続きを読む
第4章 木構造とハッシュ―平衡二分探索木「赤黒木」で知る豊かなデータ型:[入門]関数プログラミング―質の高いコードをすばやく直感的に書ける!|gihyo.jp … 技術評論社
この章ではリストから一歩進み,永続データとして利用できる木構造を説明します。木構造の例として赤黒木という平衡二分探索木を取り上げ,ハッシュテーブル(以下,ハッシュと略記)を実装します。 ハッシュを実現できる木構造 関数プログラミングと(C言語などで使われる)配列は相性が良くありません。なぜなら,配列を永続データとして使おうとすると,一部を変更するだけでも配列全体をコピーしなければならないからです。... 続きを読む
パターンマッチの構文 - Journal InTime(2012-03-09)
_ パターンマッチの構文 pattern-matchというライブラリで赤黒木を実装してみてパターンマッチの便利さを改めて実感したが、やはり言語レベルのサポートがあった方がよいと感じたので構文を考えてみた。 既存の構文の互換性は維持する。 新しい予約語を追加しない。 という方針を立てて考えると、case式を拡張するのがよさそうだ。 Haskellのcase式を参考にしてみよう。Haskellでは赤黒... 続きを読む