タグ

datastructureに関するInoHiroのブックマーク (6)

  • Log-structured merge-tree - Wikipedia

    In computer science, the log-structured merge-tree (also known as LSM tree, or LSMT[1]) is a data structure with performance characteristics that make it attractive for providing indexed access to files with high insert volume, such as transactional log data. LSM trees, like other search trees, maintain key-value pairs. LSM trees maintain data in two or more separate structures, each of which is o

    Log-structured merge-tree - Wikipedia
  • Red-Black Tree by Java -- これで分かった赤黒木

    このページは、マップと呼ばれるデータ構造の実装の1つである赤黒木 (2色木、red-black tree)について解説するページです。赤黒木は、要素の 挿入・削除・検索などの操作が \(O(\log n)\) の計算量で実行出来る平衡木 です(\(n\) は要素数)。赤黒木はやっていることは単純なのですが、とにかく 場合分けがたくさんあって、習得しようとしながらもくじけてしまった人も 多いのではないでしょうか? しかし、ご安心ください。このページは場合分けを出来るだけ減らし、 挿入操作で4パターン、削除操作で8パターンさえ理解すれば赤黒木が分かる ように書かれています。削除操作に関しては、左右対称のパターンを省けば 4パターン理解すればおおむね OK です。これから赤黒木を勉強しようという人 はもちろん、一度は勉強したが挫折してしまったという人も是非とも読んでみて ください。 【準備】 ま

  • 汎用検索ツリー - Wikipedia

    汎用検索ツリー (GiST: Generalized Search Tree) はディスク上に木構造の検索機能を実現する データ構造 と API である。 GiSTはB+木を一般化したもので、並列実行性能が高くリカバリが可能な高さがバランスされた検索木のフレームワークを提供する。 また、保存できるデータ型や検索クエリに制限が無い。 GiSTは良く利用されるインデックス(B+木, R木, hB木, RD木 など)の実装に利用できる。 また、新しいデータ型に対して特化したインデックスを開発することも容易である。 ただし、GiST を使っても直接的には高さバランスではないツリー構造 (八分木やトライ木) を実装することはできない。 また、GiST は可逆および非可逆の圧縮をサポートしているが、各ノードのデータ型は同一でなければならない。 リーフにはノードとは異なる型を用いることもできる。 データ

  • 八分木 - Wikipedia

    左: 立方体の再帰的な8分割、右: それに対応した八分木 八分木(英: Octree)とは、木構造の一種で、各ノードに最大8個の子ノードがある。3次元空間を8つのオクタント(八分空間)に再帰的に分割する場合によく使われる。四分木を3次元に拡張したものと見ることができる。英語の名称は oct + tree に由来するが "octtree" とは書かず "octree" と書く。 空間表現としての八分木[編集] 八分木の各ノードは空間を8つのオクタントに分割する。PR (point region) 八分木の場合、各ノードは明確に1つの3次元の点を格納していて、それがそのノードに対応する空間領域の中心点となる。また、その点は子ノードそれぞれに対応する空間領域の頂点(隅)になり、逆に言えば、その点を中心としてオクタントに分ける。MX八分木では、対応する空間領域の幾何学的中心点を暗黙のうちに分割の中

    八分木 - Wikipedia
  • 四分木 - Wikipedia

    領域四分木 四分木(しぶんぎ、英: Quadtree)は、各内部ノードが4個までの子ノードを持つ木構造のデータ構造である。四分木は主に、2次元空間を再帰的に4つの象限または領域に分割するのに使われる。領域は四角形または矩形の場合もあるし、任意の形状の場合もある。このデータ構造は1974年、Raphael Finkel と J.L. Bentley が四分木と名づけた。同様の分割手法はQ木 (Q-tree) とも呼ばれている。四分木に共通する特徴は以下の通りである。 空間を適応可能セルに分割する。 各セル(またはバケット)は容量の上限がある。容量が最大に達すると、バケットは分割される。 木構造ディレクトリは四分木の空間分割に従う。 種類[編集] 四分木は表現するデータの型によって分類され、領域 (area)、点 (point)、線 (line)、曲線 (curve) などがある。また、木構造

    四分木 - Wikipedia
  • ブルームフィルタ - Wikipedia

    この項目では、確率的データ構造について説明しています。画像にぼかし効果を付加する画像フィルタについては「川瀬のブルームフィルター」をご覧ください。 ブルームフィルタ(英語: Bloom filter)は、1970年に Burton H. Bloom が考案した空間効率の良い確率的データ構造であり、あるデータが集合の要素である(集合に含まれている)かどうかの判定に使われる。ただし判定は正確ではなくて、含まれていないのに含まれていると誤って判定すること偽陽性(false positive)の可能性がある。しかし含まれているものを含まれていないと誤判定すること偽陰性(false negative)はない。なお集合に要素を追加することはできるが、集合から要素を削除することはできない(ただし、拡張をした counting filter であれば削除もできる)。集合に要素を追加していくにつれて偽陽性の

    ブルームフィルタ - Wikipedia
  • 1