Buenas , no entendi muy bien sobre la Memoization. Podrian explicarme porfa

Alexander Román

Alexander Román

Pregunta
studenthace 5 años

Buenas , no entendi muy bien sobre la Memoization. Podrian explicarme porfa

7 respuestas
para escribir tu comentario
    Alfonso Merida

    Alfonso Merida

    studenthace 4 años

    Esto no es un error ortográfico. La palabra realmente es memoización, no memorización. Memoización viene de memo, ya que la técnica consiste en registrar un valor para que podamos buscarlo más tarde.

    Daniel Andrés Giraldo Benites

    Daniel Andrés Giraldo Benites

    studenthace 4 años

    es que tu grabas dentro de tu propio programa ciertos calculo para que no tengan que ejecutarse, de esta forma consumen menoria pero eso ahorras tiempo

    Julio César Zaravia Paredes

    Julio César Zaravia Paredes

    studenthace 4 años

    Hola! a mi me ayudo mucho ver este video, es de los amigos de HackerRank. Me parece muy bueno, ojalá te sirva.

    Saludos!

    jean pierre gabriel nieto acosta

    jean pierre gabriel nieto acosta

    studenthace 5 años

    Sure. Imagina la memoization xomo una especie de "caché", esto peromete que guarde en el objeto la "relación" x + y(comillas porque no es relacion en toda la regla pero si al mismo tiempo 😂). Esto mermite que cuando se vuelva a hacer el calculo x + y tu "caché" sepa el resultado, y en vez de calcularlo, lo saca de un punto en memoria Dejo mi grano de arena ojalá te sirva.

    francisco ecatl melo valle

    francisco ecatl melo valle

    studenthace 5 años

    imagina que quieres calcular numeros primos [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

    con una funcion primo(n) que te da el numero primo que esta en la posicion n primo(1) = 2 primo(5) = 11 primo (10) = 29

    cualquiera de las de arriba son faciles no hay numeros muy grandes pero imagina

    primo(1000000)

    una forma sencilla seria hacer los calculos de primo(n) y comenzar a probar todos los numeros des de el inicio el 2 es primo = si posicion 1 el 3 es primo = si posicion 2 el 4 es primo = no ------- el 5 es primo = si posicion 3 .... asi asta llegar a primo(1000000) y asi por cada primo(n) se iniciaria una nueva busqueda

    ** Memoization ** Lo que hace Memoization es guardar en memoria en array, un diccinario, etc..., creado por el usuario

    si primero busco

    prime(100) se calcula desde el inicio prime(100) = 541 el 541 esta en la posicion 100

    pero ahora si calculo prime(1000) ya no harbiaque calcular desde 0 el programa iniciaria a calcular a partir de prime(100)

    imagina que tienes en memoria prime(10000000000000) y quieres buscar prime(10,000,000,000,001‬) solo 1 posicion mas en lugar de empezar otravez desde 0 iniciaria a partir de prime(10000000000000)

    o que buscas 2 veces el mismo primo sin saberlo el primer calculo tomaria tiempo pero en la segunda busqueda lo tomaria el resultado directo de memoria y no tardaria nada

    entre mas busquedas se hagan mas rapido se vovera tu programa

    Salvador Cardona Noriega

    Salvador Cardona Noriega

    studenthace 5 años

    ¡Hola Alexander!

    Tienes dos alternativas, utilizar más tiempo o utilizar más memoria. En este caso optimizamos el código reduciendo el tiempo de ejecución necesario utilizando la técnica "Memoization".

    Guardamos los datos ya calculados en la memoria para posteriormente utilizarlos y no tener que volver a ejecutar esos mismos cálculos.

    Renzo Flores Ugarte

    Renzo Flores Ugarte

    studenthace 5 años

    bueno una forma simple de entenderlo(como yo lo entendi) sirve para guardar en memoria los datos de tus operaciones, para no volver a repetir todo el computo en cada una de las iteraciones, por eso en numeros grandes simplemente se usa el resultado en memoria los datos del fibonacci anterior

Curso de Estadística Computacional con Python

Curso de Estadística Computacional con Python

Domina la estadística computacional usando Python para analizar datos, realizar simulaciones y calcular probabilidades. Aprende a aplicar técnicas de inferencia estadística y a desarrollar simulaciones de Monte Carlo.

Curso de Estadística Computacional con Python
Curso de Estadística Computacional con Python

Curso de Estadística Computacional con Python

Domina la estadística computacional usando Python para analizar datos, realizar simulaciones y calcular probabilidades. Aprende a aplicar técnicas de inferencia estadística y a desarrollar simulaciones de Monte Carlo.