Si escuchar la palabra “algoritmos” te da escalofríos, este libro es como un café con leche caliente en un día frío: te reconcilia con el tema. Grokking Algorithms de Aditya Bhargava explica con dibujitos, ejemplos sencillos y un lenguaje claro cómo funcionan los algoritmos más importantes en programación.
Vamos a hacer un repaso, capítulo a capítulo, para que veas por qué este libro se ha convertido en el “libro de cabecera” de muchos programadores curiosos.
🔍 Capítulo 1 – Búsqueda Binaria
Imagina que buscas un número en una lista ordenada. En lugar de revisar uno por uno como si buscaras las llaves bajo la cama, vas partiendo la lista a la mitad hasta encontrarlo. Ejemplo: encontrar el número 37 en la lista [1, 3, 5, 7, ... 99] en solo log₂(n) pasos.
📦 Capítulo 2 – Ordenamiento por Selección
El método “tortuga pero segura”: buscas el elemento más pequeño, lo pones al principio, y repites. Ejemplo: ordenar [5, 3, 6, 2] → [2, 3, 5, 6]. Es lento para listas grandes (O(n²)), pero fácil de entender.
🔄 Capítulo 3 – Recursión
Cuando una función se llama a sí misma para resolver un problema más pequeño. Ejemplo: factorial(5) = 5 × factorial(4) ... hasta factorial(1) = 1. La magia está en el “caso base” para que no se llame infinitamente.
⚡ Capítulo 4 – Quicksort
El primo rápido del ordenamiento: eliges un pivote, separas menores y mayores, y ordenas cada grupo recursivamente. Ejemplo: [10, 5, 2, 3] → pivote 10 → menores [5, 2, 3] → ... y listo en O(n log n).
🔑 Capítulo 5 – Tablas Hash
Como una agenda mágica donde encuentras lo que buscas en tiempo casi instantáneo. Ejemplo: almacenar "España" → "Madrid" y luego buscar "España" en O(1).
🌐 Capítulo 6 – Búsqueda en Anchura (BFS)
Perfecto para encontrar el camino más corto en un grafo sin pesos. Ejemplo: encontrar al amigo más cercano que vende una PS5 en tu red social.
🛣️ Capítulo 7 – Dijkstra
Igual que BFS pero con carreteras que tienen diferentes longitudes. Ejemplo: elegir la ruta más rápida para llegar a la playa evitando el tráfico.
📊 Capítulo 8 – Programación Dinámica
Resolver problemas optimizando recursos. Ejemplo clásico: la mochila 0/1, donde quieres meter los objetos de más valor sin pasarte de peso, usando una tabla para ahorrar cálculos.
🧠 Capítulo 9 – Algoritmos Avanzados
Aquí aparecen joyas como Rabin-Karp (búsqueda de texto rápida), Huffman (compresión de datos) o PageRank (ordenar páginas web). Ejemplo: comprimir un texto y que ocupe la mitad.
Conclusión: Este libro no es solo teoría. Es una caja de herramientas que te ayuda a pensar como un programador eficiente, eligiendo siempre la herramienta adecuada para el problema.
Latest Posts
-
1
-
2
-
3
-
4Aug 08, 2025
Categories
- Economía 3 Posts
- Formación 4 Posts
- Opinión 5 Posts
- Programación 11 Posts
- Proyectos 2 Posts
- Tecnología 2 Posts