
Hands-On Data Structures and Algorithms with Python, 3rd Edition
Dr. Basant Agarwal
- Editorial
- Packt
- Año
- 2022
- Páginas
- ~497
- Nivel
- Intermedio
De qué trata
Tercera edición del manual de referencia de Dr. Basant Agarwal publicado por Packt, actualizado minuciosamente para las novedades y el tipado de Python 3.10+. Está dirigido a desarrolladores de software, programadores de Python y estudiantes de nivel intermedio que conocen la sintaxis del lenguaje y buscan dominar los fundamentos internos de las estructuras de datos, aprender a implementarlas desde cero y optimizar el rendimiento de sus aplicaciones de cara a la producción y las pruebas técnicas.
El recorrido formativo cubre las estructuras nativas de Python (listas, tuplas, conjuntos, diccionarios) y su comportamiento interno de memoria, diseño de algoritmos y métricas de complejidad mediante notación Big O y análisis amortizado, así como paradigmas clave: divide y vencerás, algoritmos voraces (greedy) y programación dinámica. Concretamente enseña a codificar desde cero listas enlazadas (simples, dobles y circulares), pilas, colas, montículos binarios (heaps con el módulo heapq), tablas hash (con funciones hash y resolución de colisiones por direccionamiento abierto y encadenamiento), árboles binarios de búsqueda (BST, AVL, árboles Red-Black), grafos (representaciones, recorridos BFS y DFS, algoritmos de Dijkstra, Prim y Kruskal), algoritmos de búsqueda y ordenamiento (Merge Sort, Quick Sort, Radix Sort), algoritmos de selección (Quickselect) y algoritmos de coincidencia de patrones en cadenas de texto (Knuth-Morris-Pratt, Boyer-Moore y Rabin-Karp).
El libro adopta un estilo práctico donde cada estructura y algoritmo se programa paso a paso, complementándose con secciones de preguntas de autoevaluación y ejercicios de repaso al final de cada capítulo (con sus correspondientes soluciones en el apéndice). Destaca por su rigor conceptual y la claridad de su código en Python 3.10 nativo; no construye aplicaciones monolíticas completas con bases de datos o interfaces gráficas, ni utiliza paquetes pesados de ciencia de datos, concentrándose en la comprensión profunda y la eficiencia algorítmica pura.
- Python 3.10
- Estructuras de datos
- Notación Big O
- Listas enlazadas
- Pilas y colas
- Árboles binarios
- Montículos (Heaps)
- Tablas hash
- Grafos
- Programación dinámica
- Algoritmos voraces
- Algoritmos de cadenas
¿Cómo enseña?
Teoría + práctica
- ✓ Incluye ejercicios
- ✗ Sin proyectos

