algorithms

もっと見る algorithms

ホーム

algorithmsdata-structures

双スタックスライディングウィンドウ集約

スライディングウィンドウ集約は通常、演算子が「可逆」であることを要求するため、最小値、分位数、さらには浮動小数点の合計さえも排除されてしまう。二スタック法は約二十行のコードで、結合法則を満たすあらゆる集約を償却O(1)で実現し、しかも結果はウィンドウ外の値に汚染されない。

algorithmsdatabaseinternals

B木とB+木:データベースインデックスはなぜこんなに速いのか

二分探索木から始めよう。なぜノードがディスクページに一致する必要があるのか、B木がいかに木の高さを極限まで抑えるか、そしてRDBが最終的にB+木を選んだ理由(葉ノードの連結リストにより範囲クエリが繰り返しの上下走査から順次読み取りに変わる)、最後にノード分割アルゴリズムを解説する。