Estoy haciendo un cálculo iterativo en una red de flujo durante el cual necesito registrar cuánto contribuye cada fuente al flujo en cada borde. El flujo en cualquier borde se debe al 2% de las fuentes en promedio, así que defino vector< map<int, double> > flow
, donde flow[e][s] = f
significa que el flujo en el borde e
debido a la fuente s
es f
. En cada iteración, cada f
en flow
se actualiza.Estructura de datos de memoria externa para reemplazar el vector de mapas
El uso máximo de la memoria del programa se acerca a los 4 GB. Esto funciona en (32 bits) Linux y OS X, pero se bloquea en Windows (que parece imponer un 2 GB per process limit).
¿Cómo puedo implementar una estructura de datos basada en disco con una interfaz vector< map<int, double> >
(o solucionar este problema)?