Este repositorio contiene las soluciones para el proyecto Recursion del currículo de JavaScript de The Odin Project.
El objetivo principal de este proyecto es poner en práctica el concepto de recursión (funciones que se llaman a sí mismas) y entender cómo puede utilizarse para resolver problemas complejos dividiéndolos en subproblemas más pequeños.
La sucesión de Fibonacci es una serie de números en la que cada número es la suma de los dos anteriores (0, 1, 1, 2, 3, 5, 8...).
fibs(n): Resuelve el problema utilizando iteración tradicional (un buclefor).fibsRec(n): Resuelve el mismo problema utilizando recursión.
Merge Sort es un algoritmo de ordenamiento clásico que utiliza el enfoque "Divide y Vencerás" (Divide and Conquer).
mergeSort(arr): Toma un array desordenado, lo divide recursivamente por la mitad hasta que quedan arrays de un solo elemento, y luego los vuelve a juntar (merge) en orden.
Tienes dos formas de ejecutar y probar este proyecto:
Para una experiencia más interactiva, he creado un visualizador gráfico.
- Abre el archivo
index.htmlen tu navegador web preferido. - Ingresa un número en la tarjeta de Fibonacci para generar la secuencia con animaciones.
- Ingresa una lista de números separados por comas en la tarjeta de Merge Sort para ver cómo se ordenan.
Si prefieres ver la salida pura por consola, puedes usar Node.js:
- Clona este repositorio o descarga los archivos.
- Abre tu terminal en la carpeta del proyecto.
- Ejecuta los siguientes comandos:
# Para probar Fibonacci:
node fibonacci.js
# Para probar Merge Sort:
node mergeSort.js- Vanilla JavaScript (ES6+)
- HTML5 & CSS3 (Para la interfaz visual)
- Recursión (Casos base y llamadas recursivas)
- Algoritmos de Ordenamiento (Merge Sort)
- Divide y Vencerás (Divide and Conquer)