Ver Mensaje Individual
  #21 (permalink)  
Antiguo 20/11/2014, 17:34
Pantaláimon
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 18 años, 5 meses
Puntos: 32
Respuesta: Petando la pila. Problemas y retos usando recursividad.

No, leosan, no insinúo eso. En los dos casos que expones se realizan 4 multiplicaciones, tanto si vas multiplicando mientras avanzas al siguiente paso como si las multiplicas todas al final.

Fíjate en lo que hace el algoritmo de kutcher y verás:
Código pseudocódigo:
Ver original
  1. Calculamos potencia(2,8):
  2. potencia(2, 8) = x * x
  3. donde x = potencia(2,4)
  4.  
  5. Calculamos potencia(2,4):
  6. potencia(2, 4) = x * x
  7. donde x = potencia(2,2)
  8.  
  9. Calculamos potencia(2,1):
  10. potencia(2,1) = 2 * x * x
  11. donde x = potencia(2, 0) = 1
  12.  
  13. En total 4 multiplicaciones.

¿Cuanto costaría calcular potencia(2, 32)? sólo dos multiplicaciones más: 6

En cambio con tu algoritmo deberías hacer del orden de 32 multiplicaciones. Esta es la idea escondida.

Un saludo!
__________________
github.com/xgbuils | npm/xgbuils

Última edición por Pantaláimon; 20/11/2014 a las 18:04