Menu
Coddy logo textTech

Introducción a la recursividad

Parte de la sección Lógica y Flujo del Journey de Dart de Coddy — lección 47 de 65.

La recursividad es una técnica de programación en la que una función se llama a sí misma para resolver un problema. Piense en ello como si mirara dos espejos enfrentados: cada reflejo contiene una versión más pequeña de la misma imagen, creando un bucle infinito hasta que los reflejos se vuelven demasiado pequeños para verse.

Cada función recursiva necesita dos componentes esenciales para funcionar correctamente. El caso base es la condición que detiene la recursividad; es como el punto en el que los reflejos del espejo se vuelven demasiado pequeños para importar. Sin un caso base, tu función se llamaría a sí misma indefinidamente, lo que acabaría provocando el cierre inesperado de tu programa.

El paso recursivo es donde la función se llama a sí misma con una versión modificada del problema original. Cada vez que la función se llama a sí misma, debe estar trabajando en una versión más pequeña o simple del problema, acercándose gradualmente hacia el caso base.

Imagina que estás buscando tus llaves en una pila de papeles. Podrías revisar el papel de arriba y, si tus llaves no están allí, harías lo mismo con la pila restante (que ahora es un papel más pequeña). Seguirías repitiendo este proceso hasta que encuentres tus llaves o no queden más papeles por revisar.

Este enfoque de dividir un problema grande en problemas más pequeños e idénticos es lo que hace que la recursividad sea tan poderosa para ciertos tipos de desafíos de programación.

Hoja de referencia

La recursividad es una técnica de programación en la que una función se llama a sí misma para resolver un problema dividiéndolo en problemas más pequeños e idénticos.

Cada función recursiva necesita dos componentes esenciales:

Caso base: La condición que detiene la recursividad para evitar bucles infinitos.

Paso recursivo: Donde la función se llama a sí misma con una versión modificada del problema original, acercándose gradualmente al caso base.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo