Para resolver un determinado problema, utilizamos estructuras de datos como tablas hash, listas, filtros Bloom, matrices de sufijos, pilas, colas, etc. Utilizamos estas estructuras de datos para reducir la complejidad del tiempo. Por ejemplo, si tiene nombres únicos, desea escribir un algoritmo para encontrar un nombre en particular, si usa una matriz, tomará O (N) y si usa hash set it, tomará O (1) en promedio. Pero para una mejor complejidad del tiempo, debes sacrificarte en el espacio, ya que debes mantener Hash en la memoria. Pero considere qué sucede si la memoria también es una restricción. Entonces, debemos tener un puente nivelado que juegue entre el tiempo y el espacio. Para optimizar la memoria debemos memorizar estructuras de datos eficientes. Dado que nos estamos ocupando de la memoria de nivel de byte, habrá un gran espacio para grandes datos. ¿Qué pasa si podemos direccionar bits en byte para direccionar los datos? Se ahorra una gran cantidad de espacio. . Verifique sobre @Bloom filter Una estructura de datos eficiente en espacio. Considere el navegador web Chrome de un millón de direcciones URL de sitios web maliciosos sobre cómo espaciar de manera eficiente y eficiente en el tiempo la búsqueda de una URL particular es maliciosa o no. ¿Deberíamos crear un hash en memoria que pueda almacenar un millón o mil millones de URL? eso es un desperdicio de espacio y nuestra RAM no puede abordarlos. Entonces, para la optimización de la memoria, debemos usar filtros Bloom que aborden los bits en función de la probabilidad. Utilizamos operadores de desplazamiento para acceder a las posiciones de los bits. Podemos aplicar algoritmos de optimización de memoria similares para buscar discos. Estructura de datos optimizada. Consulte esta página de diagnóstico de @Google Safe Browsing para quora.com. Qué tan rápido sus informes de millones de malware listan el espacio y el tiempo de manera eficiente.
¿Qué es el algoritmo de optimización de memoria?
Related Content
¿Necesito aprender algún lenguaje de programación antes de intentar estructuras de datos?
¿Cuál es el algoritmo más rápido para generar números primos y su complejidad?
¿Cuál es la diferencia entre un algoritmo y un procedimiento?
More Interesting
¿Cuál es la complejidad del siguiente código y explica por qué?
¿Cuáles son los algoritmos básicos en informática?
¿Existe algún enlace de los algoritmos o técnicas más utilizados en la programación competitiva?
Cómo eliminar caracteres duplicados en la cadena char * p = 'chaabbcc'
¿Cuántas permutaciones se pueden generar a partir de '10011111111'? Cual es la formula?
¿Cuál es el orden cronológico de los algoritmos de reconocimiento facial?
¿Cuál es el concepto de la función recursiva en matemáticas?
¿Cómo reduce () tomar la entrada de múltiples map ()?
¿Cuáles son algunos algoritmos interesantes que se han encontrado en la naturaleza?
¿Cuáles son los algoritmos detrás de las simulaciones de partículas en C / C ++?
¿Cuáles son los algoritmos comunes que uno debe conocer?
¿Cuál es la forma más fácil de animar el algoritmo de Dijkstra para Power Point Presentation?