驴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.