Want to make interactive content? It’s easy in Genially!

Over 30 million people build interactive content in Genially.

Check out what others have designed:

Transcript

METÁFORA INFORMÁTICA

MEMOIZATION

ADRIÁN HERRERO BERNABÉU

MEJORANDO LA EFICIENCIA DE NUESTROSPROGRAMAS CON DICCIONARIOS
Es la optimización de procesos o eficiencia en un programa, la facilidad de asociar los términos introducidos con los componentes de la vida real. Particularmente, esta metáfora guarda relación con los módulos de programación de ASIR, DAM y DAW.

El térmiNo informático

Memoization es un patrón de optimización que guarda los resultados de las funciones de manera persistente, generalmente en una tabla o diccionario, para que las llamadas subsiguientes con los mismos parámetros puedan acceder al resultado previamente sin necesidad de volver a calcularlo

Definición técnica

Imaginemos que la función recursiva es el archivador, y el diccionario es la libreta donde se apuntan las ubicaciones de los resultados (carpetas o documentos). Si la función ya ha sido llamada antes con los mismos parámetros, el "archivador" no vuelve a realizar el cálculo, sino que accede a su libreta(diccionario) para obtener el resultado rápidamente.

LA METÁFORA

Leonardo de Pisa (Fibonacci) era un joven cuyo objetivo era conocer los hábitos de apareamiento de los conejos, esto llevo a una secuencia infinita de números naturales cuyos dos primeros términos son 1 y 1 y tal que, cualquier otro término se obtiene sumando los dos anterioresSu secuencia empezaría tal que así: 1, 1, 2, 3, 5, 8, 13, 21, 34…

LA sucesión DE FIBONACCI

Tiempo aproximado con 40 iteraciones, un par de horas

VERSIÓN SIN MEMOIZATION

Tiempo aproximado con 40 iteraciones, 1 segundo

VERSIÓN CON MEMOIZATION

GRACIAS A TODOS

confía en la recursividad