
Data Structures & Algorithms in Python
John Canning, Alan Broder, Robert Lafore
- Editorial
- Addison Wesley
- Año
- 2023
- Páginas
- ~1587
- Nivel
- Intermedio
De qué trata
Adaptación exhaustiva al ecosistema de Python (Python 3) del clásico y aclamado texto universitario de Robert Lafore sobre estructuras de datos. Desarrollada por John Canning, Alan Broder y el propio Lafore, la obra está concebida tanto para estudiantes de ciencias de la computación como para desarrolladores autodidactas de nivel intermedio que ya dominan la sintaxis fundamental y los conceptos básicos de orientación a objetos en Python, y buscan comprender cómo organizar y procesar información eficientemente a gran escala.
El temario aborda el núcleo tradicional de las ciencias de la computación sin abrumar con demostraciones matemáticas abstractas excesivas: análisis de complejidad temporal y espacial (notación Big O), arreglos y listas de Python, algoritmos de ordenamiento elemental (burbuja, selección, inserción) y avanzado (Shellsort, Quicksort, Radix sort), estructuras lineales como pilas, colas ordinarias, colas de prioridad y listas enlazadas (simples, dobles, ordenadas e iteradores). En estructuras no lineales y jerárquicas profundiza en recursión (Torres de Hanói, ordenamiento por mezcla), árboles de búsqueda binaria, codificación de Huffman, árboles 2-3-4, árboles balanceados (AVL y Red-Black), tablas hash (resolución de colisiones por encadenamiento separado y direccionamiento abierto), estructuras espaciales (Quadtrees y árboles k-d), montículos (heaps) y grafos dirigidos y ponderados (recorridos BFS y DFS, árbol de recubrimiento mínimo, ordenamiento topológico y caminos más cortos con Dijkstra y Floyd-Warshall). Además, se apoya en herramientas web de visualización interactiva (datastructures.live).
Cada capítulo concluye con extensas baterías de preguntas de repaso y proyectos de programación prácticos que simulan desafíos reales, como el análisis sintáctico de expresiones aritméticas con pilas o la compresión de archivos de texto con árboles de Huffman. Su gran virtud radica en la claridad didáctica, el apoyo visual de los procesos y la amplitud enciclopédica del catálogo de estructuras; no aborda desarrollo de aplicaciones web, bases de datos relacionales ni frameworks modernos, enfocándose de lleno en la solidez algorítmica fundamental.
- Python 3
- Estructuras de datos
- Algoritmos de ordenamiento
- Listas enlazadas
- Árboles binarios
- Árboles 2-3-4
- Árboles balanceados
- Tablas hash
- Grafos
- Algoritmo de Dijkstra
- Notación Big O
¿Cómo enseña?
Teoría + práctica
- ✓ Incluye ejercicios
- ✓ Incluye proyectos
Proyectos
Analizador y evaluador de expresiones aritméticas
Parser en consola que utiliza pilas (stacks) para transformar expresiones matemáticas de notación infija a postfija y calcular su resultado respetando la precedencia de operadores.
Compresor de texto mediante codificación de Huffman
Herramienta de compresión sin pérdida que construye un árbol binario de frecuencias para generar códigos de longitud variable y empaquetar cadenas de texto.

