
Data Structures & Algorithm Analysis in C++, 4th Edition
Mark Allen Weiss
- Editorial
- Pearson
- Año
- 2013
- Páginas
- ~654
- Nivel
- Avanzado
De qué trata
Texto de referencia y clásico fundamental en la educación informática avanzada, escrito por el catedrático Mark Allen Weiss y publicado por Pearson. Esta cuarta edición moderniza completamente las implementaciones de código adaptándolas al estándar C++11, incorporando semántica de movimiento (rvalue references), punteros inteligentes, nullptr, bucles range-based for y plantillas genéricas. Está dirigido a estudiantes de nivel intermedio a avanzado y a ingenieros de software que dominan C++ y buscan dominar la eficiencia matemática y computacional de las estructuras de datos.
La obra destaca por entrelazar el código en C++11 con un análisis matemático formal y riguroso (notaciones Big-Oh, Omega, Theta y Little-oh). Desarrolla desde cero estructuras canónicas con iteradores propios (como las clases Vector y List), pilas y colas, antes de pasar a árboles de búsqueda binaria, árboles balanceados AVL, splay trees, árboles B y árboles AA. En tablas hash cubre técnicas de vanguardia como cuckoo hashing, hopscotch hashing y funciones de dispersión universal; en colas de prioridad analiza montículos izquierdistas (leftist heaps), skew heaps, colas binomiales y pairing heaps. Aborda extensamente algoritmos de grafos (caminos mínimos con Dijkstra y Bellman-Ford, flujo de redes, componentes fuertemente conexos, árboles de expansión mínima), ordenamiento interno y externo (fusión polifásica), conjuntos disjuntos (union-find con compresión de caminos), paradigmas de diseño (programación dinámica, algoritmos voraces, divide y vencerás), análisis amortizado mediante el método del potencial y una introducción formal a la NP-completitud.
Aporta un nivel de profundidad teórica y analítica excepcional, demostrando cotas inferiores de complejidad y ofreciendo código C++11 robusto y eficiente en el repositorio oficial del autor. Cada capítulo concluye con una amplia selección de problemas y ejercicios teóricos y de programación. No construye aplicaciones completas con interfaz gráfica ni sistemas comerciales, y su curva de dificultad requiere solidez previa en matemáticas discretas. Es un libro imprescindible para aspirantes a superar entrevistas técnicas de alta exigencia (nivel FAANG) o desarrolladores de software de infraestructura y sistemas de alto rendimiento.
- C++11
- Algoritmos
- Estructuras de datos
- Complejidad asintótica
- Semántica de movimiento
- Árboles AVL y Splay
- Tablas hash avanzadas
- Colas de prioridad
- Algoritmos de grafos
- Análisis amortizado
- Programación dinámica
- NP-completitud
¿Cómo enseña?
Teoría + práctica
- ✓ Incluye ejercicios
- ✗ Sin proyectos

