Recursión de C ++ (con ejemplo)

En este tutorial, aprenderemos sobre la función recursiva en C ++ y su funcionamiento con la ayuda de ejemplos.

Una función que se llama a sí misma se conoce como función recursiva. Y esta técnica se conoce como recursividad.

Trabajo de recursividad en C ++

 void recurse() (… recurse();… ) int main() (… recurse();… )

La siguiente figura muestra cómo funciona la recursividad llamándose a sí misma una y otra vez.

Cómo funciona la recursividad en la programación C ++

La recursividad continúa hasta que se cumple alguna condición.

Para evitar la recursividad infinita, se puede usar la instrucción if… else (o un enfoque similar) donde una rama hace la llamada recursiva y la otra no.

Ejemplo 1: factorial de un número mediante recursividad

 // Factorial of n = 1*2*3*… *n #include using namespace std; int factorial(int); int main() ( int n, result; cout <> n; result = factorial(n); cout << "Factorial of " << n << " = " < 1) ( return n * factorial(n - 1); ) else ( return 1; ) )

Salida

 Ingrese un número no negativo: 4 Factorial de 4 = 24

Trabajo del programa factorial

Cómo funciona este programa de recursividad en C ++

Como podemos ver, la factorial()función se llama a sí misma. Sin embargo, durante cada llamada, hemos disminuido el valor de n en 1. Cuando n es menor que 1, la factorial()función finalmente devuelve la salida.

Ventajas y desventajas de la recursividad

A continuación se muestran los pros y los contras de usar la recursividad en C ++.

Ventajas de la recursividad de C ++

  • Hace que nuestro código sea más corto y más limpio.
  • La recursividad es necesaria en problemas relacionados con estructuras de datos y algoritmos avanzados, como Graph y Tree Traversal.

Desventajas de la recursividad de C ++

  • Se necesita mucho espacio de pila en comparación con un programa iterativo.
  • Utiliza más tiempo de procesador.
  • Puede ser más difícil de depurar en comparación con un programa iterativo equivalente.

Articulos interesantes...