El algoritmo de dos pilas que resuelve la agregación en ventana deslizante

Two-Stack Sliding-Window Aggregation

La agregación en ventana deslizante con operadores sin inverso, como el mínimo o HyperLogLog, tiene una solución simple y eficiente: el algoritmo de dos pilas. Mantiene dos pilas y un agregado acumulado, logrando O(1) amortizado por operación y O(w) de memoria. Además, evita que valores atípicos como NaN o infinito contaminen toda la ventana, a diferencia de la suma rodante ingenua.

Cada agregado es estrictamente una combinación de los elementos en la ventana, y ninguno fuera de ella. Esto significa que si tu ventana contiene un NaN o infinito (o algún otro valor atípico), ese valor solo envenena las ventanas que lo contienen en lugar del resto de tu cálculo.

Más de este día

2026-10-16