データ構造
計算機で大規模なデーターを処理する時
を小さくしたい
計算時間減らそうとする時は、大体索引を作る
- そうすると、さらにメモリ量が増える
- このトレードオフ状態、データの構造を工夫して改善する
サイズが情報理論的下限にほぼ一致する表現
L通りの入力がある場合は、下限は$\lceil \log L \rceil$bits
簡潔索引
- ビットベクトル/配列 (ex: {1,0,0,1,1,0,1}みたいな) へ、
- rank操作: ある範囲に存在する1の数を返す
- 簡潔索引: サイズが最小になるようにブロックに分割して、それぞれのブロックへの問い合わせの答えをあらかじめ用意しておく?
- 正しく理解できていない気がする
- 簡潔索引: サイズが最小になるようにブロックに分割して、それぞれのブロックへの問い合わせの答えをあらかじめ用意しておく?
- select操作: i番目の1の位置を返す
- rank操作: ある範囲に存在する1の数を返す
- ビットベクトル/配列 (ex: {1,0,0,1,1,0,1}みたいな) へ、
木構造の簡潔表現