タグ

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

  • 関連タグはありません

タグの絞り込みを解除

datastructureに関するeagletmtのブックマーク (3)

  • wat-array : wavelet木を利用した高速配列処理ライブラリ - Preferred Networks Research & Development

    こんにちは岡野原です。もう年末になりましたが、私の今年はこれからです。 wat-arrayというC++ライブラリを公開しました。 google code:wat-array wat-arrayはフリーソフトウェアであり、修正BSDライセンスに基づいて利用できます. wat-arrayはwavelet木と呼ばれるデータ構造を利用することにより、配列上の様々な処理を効率的に行うことができるC++ライブラリです。 例えば、 – 任意の連続した範囲内にある最大値 /最小値 / k番目に大きい値, またそれらの出現位置、頻度 – 任意の連続した範囲内にある指定した文字cの出現回数、c未満/より大きい文字の出現回数 – 任意の文字のi番目の出現位置 といったものを求めることが全て範囲長、入力長に対して定数時間で行うことができます。 例えば長さ10億、値の範囲が0から1000万であるような配列A中のA[

    wat-array : wavelet木を利用した高速配列処理ライブラリ - Preferred Networks Research & Development
  • LOUDS++(5): trie - sileのブログ

    四回目まででLOUDS(LOUDS++)の実装方法は分かったので、今回は応用編。 LOUDSを用いてtrieを実装する(というかtrieを実装したソースコードを載せる)。 作るもの 実際に作成するのは以下の二つのコマンド。 mklouds-trie: ソート済みテキストファイルから、LOUDSを用いたtrieを構築し、バイナリデータとして保存する louds-trie: 上で作成したtrieのバイナリデータを読み込み、trieのキーの検索を行う 注意点 ソースコードは動くことのみを目的としており、整理/最適化はされていない GCCのインラインアセンブラを使っている箇所があるのでGCC依存 上と同様の理由でCPU依存(x86, BSR命令) mklouds-trie trieの構築部分。 まずは、bit-vector構築用のクラスから。 /*** * ファイル名: bit_vector_bu

    LOUDS++(5): trie - sileのブログ
  • 大規模文字列解 析の理論と実践@IBISML - DO++

    IBISML 第一回研究会の招待講演での発表資料です。参考文献などを追加しました。 "大規模文字列解 析の理論と実践" (pdf|pptx) 最初はもっとサーベイ的にしたかったのですが、まとめあげられず、テーマを部分文字列の計量に絞ってやりました。後半の予備スライドにそのへんの名残があります。 番で口頭で説明したところは、スライドだけだと追いづらいかもしれません。 --- 研究会は武田ホールで立ち見がでるくらい盛況でした。 プログラムを見ていただければわかるとおもいますが、みなさん非常に濃い内容でした。 久しぶりのこうした研究会参加で大変刺激になりました。

    大規模文字列解 析の理論と実践@IBISML - DO++
  • 1