Ver Mensaje Individual
  #6 (permalink)  
Antiguo 04/05/2010, 23:24
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: [Aporte] Serie de Fibonacci

esta interesante el tema de la programacion dinamica. me lei la wiki en la version ingles, que por cierto, esta mas completo. aun no comprendo todos los conceptos porque no estoy muy familiarizado con el tema. pero me llamo mucho la atencion eso de memoization. aunque no viene al caso, ya que se esta discutiendo en python, pero igual pienso que es aplicable para cualquier lenguaje. transcribi dos pseudocodigo a javascript (la funcion recursiva y la memoization), me sorprendio ver la diferencia de rapidez en resultados. aqui se los comparto...
Código:
// recursiva;
fib = function(n){
if(n == 0)return 0;
if(n == 1)return 1;
return fib(n - 1) + fib(n - 2);
}

// memoization top-down;
m = {0:0, 1:1};
fib = function(n){
if(!m.hasOwnProperty(n)) m[n] = fib(n - 1) + fib(n - 2);
return m[n];
}
intenten por ejemplo el valor 100 en ambas versiones. es sorprendente las diferencias de resultado. gracias por crear este tema, porque creo que de aqui a 10 años mas no me hubiera enterado. deberian de crear un foro especificamente para tecnicas de programacion que sea aplicable para cualquier lenguaje.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 04/05/2010 a las 23:41