タグ

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

  • 関連タグはありません

タグの絞り込みを解除

データ構造に関するs_hiiragiのブックマーク (5)

  • AoS and SoA - Wikipedia

  • Scala sequences - head, tail, init, last | alvinalexander.com

  • 両端キュー - Wikipedia

    実装[編集] 両端キューの効率的実装方法は2つある。ひとつは動的配列を修正したもので、もうひとつは双方向連結リストを使った実装である。 動的配列による実装は、どちらの方向にも成長できる動的配列を使うもので、配列デック (array deque) とも呼ぶ。配列デックは動的配列でもあるため、定数時間でランダムアクセスが可能で参照の局所性もよいが、途中への挿入/削除が非効率だが両端での挿入/削除が定数時間になっている。典型的実装として以下の2つがある。 リングバッファに両端キューの内容を格納し、バッファが満杯になったときだけサイズを拡大する。これはサイズ拡大の頻度を減らすことができるが、インデックスのために余分な分岐命令を必要とする。 配列の真ん中から両端キューの内容を配置していき、どちらかの端まで満杯になったときにサイズを拡大する。この場合、サイズ拡大の頻度は多くなるし、一方の端でのみ追加す

  • ブルームフィルタ - Wikipedia

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

    ブルームフィルタ - Wikipedia
  • コレクションの内部実装

    昨日に引き続きコレクションの話なの、とC#たんはC#たんは前振りしてみる。 今日はコレクションの中身がどうなっているか、実装についてです、とC#たんはC#たんは説明してみたり。 配列リスト 個数不定のデータを持つための一番手っ取り早い方法は、事前に配列を確保しておいて、状況に応じて確保しなおす方法です。 List<T>やStack<T>で内部的にやってることはほぼこれだけです。その他のコレクションでも、この手の仕組みはよく使います。 要は、配列と、実際に何個目まで要素が詰まっているかを表す変数countを持ちます。 要素を追加するたびに、countを増やします。 配列がいっぱいになったら、新しい配列を確保して要素をコピーします。 要素のコピーはそれなりに高負荷なので、要素の最大数がだいたいわかってる場合は、事前に確保する配列の長さをコンストラクターに渡しておきます(capacity引数)。

    コレクションの内部実装
  • 1