Recursión: los pros y los contras

Ultima actualización en domingo 13º mar. 2022

ventajas y desventajas de la recursividad

ventajas y desventajas de un algoritmo

  • La recursión por definición es “cuando una cosa se define en términos de sí misma”.
  • La recursión ocurre cuando una función se llama a sí misma dentro de su propia definición.
  • Se llama una y otra vez hasta que se cumpla una condición de base que rompe el bucle.

Ventajas

La recursión puede reducir la complejidad del tiempo.

Si calcula la secuencia de Fibonacci hasta un número n utilizando la recursión en lugar de la iteración, el tiempo para completar la tarea en comparación con el del enfoque iterativo fue mucho mayor.

La recursión agrega claridad y reduce el tiempo necesario para escribir y depurar código.

Si sabe que su entrada en una función va a ser pequeña, entonces la recursión es sin duda una buena opción. Sin embargo, si su entrada es lo suficientemente grande, el sacrificio de velocidad y memoria en aras de la claridad se vuelve mucho menos funcional.

La recursión es mejor en Tree Travesal

Una de las formas más eficientes de atravesar estos árboles cuando se busca una hoja (o nodo) específica es siguiendo recursivamente una sola rama hasta el final de esa rama hasta que encuentre el valor que está buscando.

Desventajas

La recursión utiliza más memoria.

Debido a que la función tiene que agregar a la pila con cada llamada recursiva y mantener los valores allí hasta que finalice la llamada, la asignación de memoria es mayor que la de una función iterativa.

La recursión puede ser lenta.

En realidad, es bastante difícil escribir una función recursiva donde la velocidad y la memoria serán menores que las de una función iterativa que completa la misma tarea.