
Classic Computer Science Problems in Python
David Kopec
- Editorial
- Manning
- Año
- 2019
- Páginas
- ~389
- Nivel
- Intermedio
De qué trata
Obra didáctica publicada por Manning en la que David Kopec aborda una amplia colección de problemas fundamentales de ciencias de la computación utilizando Python moderno (requiere Python 3.7 o superior). Está dirigida a desarrolladores con un nivel intermedio en Python que desean profundizar en el pensamiento algorítmico, refrescar conceptos de estructuras de datos o prepararse para entrevistas técnicas de programación, aprovechando características idiomáticas del lenguaje como anotaciones de tipo (type hints) y dataclasses.
A lo largo de sus capítulos, el texto cubre técnicas fundamentales: recursión, memoización y compresión trivial mediante manipulación de bits; algoritmos de búsqueda en laberintos y grafos (búsqueda binaria, DFS, BFS y A*); un framework genérico para problemas de satisfacción de restricciones (CSP) aplicado a la coloración de mapas y el problema de las ocho reinas; algoritmos clásicos de grafos como Dijkstra y Jarník (Prim); optimización mediante algoritmos genéticos; agrupamiento con K-Means; una red neuronal básica implementada desde cero con función sigmoide y retropropagación; y algoritmos de búsqueda adversarial como Minimax con poda alfa-beta para juegos de tablero. Todo el código utiliza la biblioteca estándar de Python (typing, collections, heapq, math, random, dataclasses).
El libro propone un enfoque de resolución de problemas en el que se construyen motores algorítmicos reutilizables aplicados a rompecabezas concretos, acompañados de ejercicios prácticos al final de cada capítulo. Su mayor valor reside en mostrar cómo implementar algoritmos complejos con código limpio, tipado y sin recurrir a paquetes externos pesados. Conviene tener presente que no enseña desarrollo de aplicaciones web ni arquitecturas de software distribuidas, sino el núcleo de resolución lógica y algorítmica de la computación clásica.
- Python 3.7
- Algoritmos clásicos
- Estructuras de datos
- Búsqueda (A*, BFS, DFS)
- Satisfacción de restricciones (CSP)
- Algoritmos genéticos
- K-Means
- Redes neuronales desde cero
- Minimax y Alpha-Beta
- Teoría de grafos
- Type hints
¿Cómo enseña?
Teoría + práctica
- ✓ Incluye ejercicios
- ✗ Sin proyectos

