Resumen del libro
El objetivo de este manual es proporcionar una introducción práctica a las estructuras de datos y algoritmos desde el punto de vista del pensamiento abstracto y de la resolución de problemas. Se han intentado cubrir todos los detalles importantes relacionados con las estructuras de datos, sus análisis y sus implementaciones Java. El texto proporciona el necesario rigor matemático para los cursos sobre Estructuras de datos que enfatizan la teoría y para los cursos posteriores que requieren un mayor grado de análisis. Sin embargo, este material destaca del texto principal en forma de teoremas separados y, en algunos casos, secciones o subsecciones separadas. Dirigido a la asignatura de Estructura de datos en 2º curso de grados de Informática.
Parte I: Introducción a Java 1. Estructura primitiva del lenguaje Java 2. Tipos de referencia 3. Objetos y clases 4. Herencia Parte II: Algoritmos y bloques fundamentales 5. Análisis de algoritmos 6. La API de colecciones 7. Recursión 8. Algoritmos de ordenación 9. Aleatorización Parte III: Aplicaciones 10. Entretenimiento y juegos 11. Pilas y compiladores 12. Utilidades 13. Simulación 14. Grafos y caminos Parte IV: Implementaciones 15. Clases internas e implementación de ArrayList 16. Pilas y colas 17. Listas enlazadas 18. Árboles 19. Árboles de búsqueda binaria 20. Tablas hash 21. Una cola con prioridad: el montón binario Parte V: Estructuras de datos avanzadas 22. Árboles auto-ajustables 23. Mezcla de colas con prioridad 24. La clase del conjunto disjunto Apéndice A: Operadores Apéndice B: Interfaces gráficas de usuario Apéndice C: Operadores bit a bit