馃 Funciones Recursivas

馃嵖 驴Qu茅 es una funci贸n recursiva?

Una funci贸n recursiva es aquella que para cumplir su funci贸n requiere invocarse a si misa.

馃嵖 驴Cu谩les son las consideraciones a tomar en cuenta en un algoritmo recursivo?

  • Siempre agregar una condici贸n que termine el ciclo de ejecuci贸n.
  • Un algoritmo recursivo debe cambiar su estado, en direcci贸n a cumplir la condici贸n de finalizaci贸n.
  • La funci贸n debe ser capaz de llamarse a si misma cuando lo requiera.

La velocidad de un algoritmo recursivo es mas lenta debido a que los m茅todos se van apilando dentro de la pila del sistema. Se recomienda siempre utilizar un loop de ser posible para realizar la misma tarea y evitar el stack overhead (sobrecarga de la pila) que se produce cuando el sistema no tiene mas memoria disponible.

Si no se construye bien el algoritmo y nunca se cumple la condici贸n de finalizaci贸n, la ejecuci贸n del programa consumir谩 la memoria del sistema.