Grokking Algorithms
Programación

Grokking Algorithms

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.

Hi, I'm Admin User

Soy Diego, el culpable de todo esto. Mezclo código con café y teorías económicas con bugs existenciales. Bienvenido al blog donde solo hay una instancia, pero muchas ideas.

Categories
Tags
ads

Descubre artículos únicos sobre desarrollo, tecnología, economía y más

Explora contenidos creados con pasión para ayudarte a crecer como desarrollador y emprendedor. ¡Gracias por formar parte de este proyecto!