こんにちは岡野原です。もう年末になりましたが、私の今年はこれからです。 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](https://cdn-ak-scissors.b.st-hatena.com/image/square/92e9d18a95fa6b2a70df179fd38f027e7d66dcd6/height=288;version=1;width=512/https%3A%2F%2Ftech.preferred.jp%2Fwp-content%2Fuploads%2F2019%2F11%2Fogimage.png)