Si tiene valores discretos y mucha repetición, puede almacenar los valores y los recuentos, lo que ahorraría un poco de espacio.
Posiblemente en etapas a través de la computación que podría desprenderse de la parte superior 'n' e inferior 'n' valores, siempre y cuando esté seguro de que la mediana no está en ese rango superior o inferior.
p. Supongamos que espera 100.000 valores. Cada vez que su número almacenado llega a (digamos) 12,000, puede descartar el 1000 más alto y el 1000 más bajo, volviendo a almacenar 10.000.
Si la distribución de valores es bastante uniforme, esto funcionaría bien. Sin embargo, si existe la posibilidad de que reciba una gran cantidad de valores muy altos o muy bajos cerca del final, eso puede distorsionar su cálculo. Básicamente, si descarta un valor "alto" que es menor que la mediana (eventual) o un valor "bajo" que es igual o mayor que la mediana (eventual), entonces su cálculo está desactivado.
actualización
Bit de un ejemplo
Digamos que el conjunto de datos es el número 1,2,3,4,5,6,7,8,9.
Por inspección la mediana es 5.
Digamos que los primeros 5 números que obtienes son 1,3,5,7,9.
Para ahorrar espacio descartamos la más alta y la más baja, dejando 3,5,7
Ahora conseguir dos más, 2,6 por lo que nuestro almacenamiento es 2,3,5,6,7
Descartar la más alta y la más baja, dejando 3,5,6
Obtenga los últimos dos 4,8 y tenemos 3,4,5,6,8
Median sigue siendo 5 y el mundo es un buen lugar.
Sin embargo, supongamos que los cinco primeros números que obtenemos son 1,2,3,4,5
Descartar parte superior e inferior dejando 2,3,4
conseguir dos más 6,7 y tenemos 2, 3,4,6,7
Descartar arriba y abajo dejando 3,4,6
Obtener los últimos dos 8,9 y tenemos 3,4,6,8,9
Con una mediana de 6 que es incorrecta.
Si nuestros números están bien distribuidos, podemos seguir recortando los extremos. Si se agrupan en grandes cantidades o en pequeños números, descartarlo es arriesgado.
Pregunta muy interesante. Si solo necesita conocer la mediana con cierta precisión, y espera que la distribución de probabilidad no cambie durante el tiempo de muestreo, puede estimar el "intervalo de confianza del 99%" de su mediana desde el principio, y almacenar solo los números dentro de ese intervalo (y haga un seguimiento de los que están fuera del intervalo que descartó). Esto será más eficiente cuando N es muy grande, pero depende de la precisión requerida del resultado. – Floris