ZAHONERO, IGNACIO / JOYANES AGUILAR, LUIS
Prólogo.PARTE I. ABSTRACCIÓN DE DATOS.Capítulo 1. Tipos abstractos de datos. Clases y objetos.Capítulo 2. Tipos de datos básicos. Arrays, cadenas y conjuntos.PARTE II. ANÁLISIS Y DISEÑO DE ALGORITMOS. Capítulo 3.Análisis y eficiencia de algoritmos.Capítulo 4. Algoritmos recursivos.Capítulo 5. Algoritmos de ordenación y búsqueda.Capítulo 6. Algoritmos de ordenación de archivos.PARTE 3. Estructuras de datos lineales. Capítulo 7. Listas. Capítulo 8. Pilas.Capítulo 9.Colas.Capítulo 10.Colas de prioridades y montículos.Capítulo 11.Tablas de dispersión, funciones hash.PARTE 4. Estructuras de datos no lineales.Capítulo 12.Árboles.Capítulo 13.Árboles de búsqueda equilibrados. Capítulo 14.Arboles B. Capítulo 15.Grafos y sus operaciones. Capítulo 16.Grafos y sus aplicaciones. Capítulo 17.Contenedores, Genericidad. APÉNDICES:A. Guía de sintaxis Java 5. B. Excepciones.C. Entrada y salida de archivos.BIBLIOGRAFÍA.
En esta obra se muestran técnicas de representación de estructuras de datos, utilizando como lenguaje contenedor Java. El contexto de las mismas de engloba en los siguientes principios: 1. Cada estructura de datos tiene sus costes y sus beneficios. Los programadores y diseñadores necesitan una comprensión rigurosa y completa de cómo evaluar los costes y beneficios para adaptarse a los nuevos retos que afronta la construcción de la aplicación. Estas propiedades requieren un conocimiento o comprensión de los principios de análisis de algoritmos y también una consideración práctica de los efectos significativos del medio físico empleado. 2. Los temas relativos a costes y beneficios se consideran dentro del concepto de elemento de compensación. 3. Esta edición, fundamentalmente, describe estructuras de datos, métodos de organización de grandes cantidades de datos y algoritmos, junto con el análisis de los mismos, en esencia, estimación del tiempo de ejecución de algoritmos. 4. Los datos estructurados siguen a las necesidades. Los estudiantes deben aprender a evaluar primero las necesidades de aplicación, a continuación, encontrar una estructura de datos en correspondencia con sus funcionalidades. 5. El método didáctico que sigue es buscar preferentemente enseñar a pensar en la resolución de un problema, siguiendo un determinado método ya conocido o bien creado por el propio lector, una vez esbozado el método, se estudia el algoritmo correspondiente junto con las etapas que pueden resolver el problema.