Spanish subtitles

← 06x-03 Usando recursión

Get Embed Code
4 Languages

Showing Revision 1 created 11/11/2012 by goldsong.

  1. W.Q.Feng pregunta: "Cuando se debe usar una difinición recursiva en lugar de un bucle 'while'?"
  2. Buena pregunta.. en términos
    de poder resolver un problema
  3. todo lo que podamos hacer con recursión
    lo podemos hacer con un 'while'..
  4. y todo lo que podemos hacer con un 'while'
    lo podemos hacer con recursión.
  5. Podemos resolver cualquier problema
    de cualquiera de las dos maneras.
  6. Usualmente, es más eficiente
    resolverlo usando un 'while'
  7. porque no tiene el costo adicional
    de las llamadas al procedimiento.
  8. Frecuentemente, una solución recursiva
    es más simple y elegante.
  9. Así que depende de lo que sea importante.
    Muchas veces el compromiso..
  10. es mejor cuando tenemos una solución simple y elegante..
  11. si lo que ganamos en eficiencia
    es tán pequeño que ni siquiera lo podemos medir..
  12. sin la ayuda de herramientas de medición avanzadas y solo con entradas muy grandes...
  13. no notariamos la diferencia.
  14. Es más importante tener una solución correcta y tenerla
  15. en un código tal que sea facil para Ud. de escribit y facil de que otras personas lo entiendan...
  16. y en muchos problemas la solución recursiva..
  17. realmente facilita esto. Es mucho más corta de lo que sería la solución iterativa..
  18. y es más facil de entender y de seguir.
  19. En las ocasiones en que el desempeño es importante, y vimos esto en el ejemplo de Fibonacci..
  20. en el cual el número de llamadas
    explota de una manera tal
  21. que hace que el programa corra muy despacio..
  22. sería preferible una solución más complicada que tenga 'while's y que evite recursión.