
Dive Into Algorithms
Bradford Tuckfield
- Editorial
- No Starch Press
- Año
- 2021
- Páginas
- ~329
- Nivel
- Intermedio
De qué trata
Obra amena y multidisciplinaria escrita por Bradford Tuckfield y publicada por No Starch Press, concebida como una introducción intuitiva y práctica al pensamiento algorítmico utilizando Python 3. Está pensada para programadores principiantes curiosos y desarrolladores intermedios que cuentan con nociones elementales de álgebra escolar y sintaxis básica en Python, y desean descubrir cómo los algoritmos resuelven problemas reales sin atascarse en la aridez de la teoría matemática tradicional.
El autor explora una variada gama de algoritmos clásicos y modernos implementados con Python puro y visualizados con la librería Matplotlib: algoritmos históricos (el algoritmo de Euclides para el MCD, la multiplicación del campesino ruso y cuadrados mágicos tradicionales), algoritmos de búsqueda y ordenamiento (Insertion Sort, Merge Sort, Sleep Sort, Binary Search), métodos de matemática pura (fracciones continuas, el algoritmo babilónico para raíces cuadradas y generadores de números pseudoaleatorios como LCG y LFSR), técnicas de optimización (ascenso y descenso de gradiente, escalada y recocido simulado para el problema del viajante), geometría computacional (diagramas de Voronoi y triangulaciones de Delaunay), procesamiento de lenguaje natural (tokenización, n-gramas e inserción de espacios en textos continuos) e inteligencia artificial (árboles de decisión, random forests y árboles de juego minimax).
Cada capítulo acompaña la explicación teórica con la construcción paso a paso de un programa funcional, entre los que destacan un motor de IA para el juego de puntos y cajas (Dots and Boxes), un optimizador heurístico de rutas de transporte y un generador de diagramas de cobertura geográfica. Su principal atractivo es su enfoque creativo, intuitivo y conectado con situaciones cotidianas e históricas; deja fuera demostraciones formales de teoremas y no contiene listas de ejercicios académicos al final de los capítulos.
- Python 3
- Algoritmos de búsqueda
- Algoritmos de ordenamiento
- Optimización matemática
- Gradiente descendente
- Recocido simulado
- Geometría computacional
- Diagramas de Voronoi
- Procesamiento de lenguaje natural
- Árboles de decisión
- Inteligencia artificial
- Matplotlib
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Agente de IA para el juego La Pipopipette
Motor de inteligencia artificial que modela y evalúa árboles de juego mediante la estrategia minimax para jugar de manera autónoma al clásico Dots and Boxes (puntos y cajas).
Generador de diagramas de Voronoi
Herramienta geométrica implementada en Python con Matplotlib que procesa coordenadas bidimensionales y genera triangulaciones de Delaunay para resolver problemas de zonificación espacial.
Optimizador de rutas del problema del viajante
Programa que implementa el algoritmo del vecino más cercano y la metaheurística de recocido simulado (Simulated Annealing) para encontrar rutas de viaje de distancia mínima.

