1.1. Ingeniería del software.
1.2. Calidad del software.
1.3. Modelos del ciclo de desarrollo.
1.4. El lenguaje UML.
1.5 Tratamiento de errores.
1.6. Análisis de Algoritmos.
1.7. Ingeniería del software y estructuras de datos.
Capítulo 2 Diseño orientado a objetos.
2.1 Panorámica de la orientación a objetos.
2.2. Utilización de objetos.
2.3. Bibliotecas de clases y paquetes.
2.4. Estado y comportamiento.
2.5. Clases.
2.6. Encapsulación.
2.7. Constructores.
2.8. Sobrecarga de métodos.
2.9. Más cosas sobre las referencias.
2.10. El modificador Static.
2.11. Clases envoltorio.
2.12. Interfaces.
2.13. Herencia.
2.14. Jerarquías de clases.
2.15. Polimorfismo.
2.16. Tipos genéricos.
2.17. Excepciones.
Capítulo 3 Colecciones.
3.1 Introducción a las colecciones.
3.2. Una colección de tipo conjunto.
3.3. Utilización de un conjunto: Bingo.
3.4. Implementación de un conjunto mediante matrices.
3.5 La clase Arrayset.
3.6. Análisis de Arrayset.
Capítulo 4 Estructuras enlazadas.
4.1. Las referencias como enlace.
4.2. Gestión de las listas enlazadas.
4.3. Elementos sin enlace.
4.4. Implementación de un conjunto mediante enlaces.
4.5. Análisis de linkedset.
Capítulo 5 Black Jack.
5.1. Un juego de Black Jack.
5.2. Diseño inicial.
5.3. Implementación de un juego de Black Jack.
Capítulo 6. Pilas.
6.1. Un tipo abstracto de datos para pilas.
6.2. Utilización de pilas para la evaluación de expresiones postfijas.
6.3. Utilización de pilas para recorrer un laberinto.
6.4. Implementación de pilas con enlaces.
6.5. Implementación de pilas con matrices.
6.6. Implementación de pilas mediante la clase: java.util.Stack.
6.7. Análisis de las implementaciones de pilas.
Capítulo 7. Colas.
7.1. Tipo abstracto de datos para una cola.
7.2. Utilización de las colas para cifrado.
7.3. Utilización de las colas para simular un despacho de entradas.
7.4. Utilización de una cola para una ordenación de raíz.
7.5. Implementación de colas mediante enlaces.
7.6. Implementación de las colas mediante matrices.
7.7. Implementación de colas mediante matrices circulares.
Capítulo 8. Listas.
8.1. Tipo abstracto de datos para una lista.
8.2. Utilización de listas ordenadas para calendarios de torneos.
8.3. Utilización de listas indexadas en el problema de Josefo.
8.4. Implementación de listas mediante matrices.
8.5. Implementación de listas mediante enlaces.
8.6. Análisis de las implementaciones de listas.
Capítulo 9 Calculadora.
9.1. Una calculadora.
9.2. Diseño inicial.
9.3. Implemnetación de una calculadora.
Capítulo 10 Recursión.
10.1. Pensamiento recursivo.
10.2. Programación recursiva.
10.3. Utilización de la recursión.
10.4. Análisis de los algoritmos recursivos.
Capítulo 11 Ordenación y búsqueda.
11.1. Búsqueda.
11.2. ordenación.
Capítulo 12 Árboles.
12.1 Árboles.
12.2. Estrategias para la implementación de árboles.
12.3. Recorrido de un árbol.
12.4. Implementación de los árboles binarios.
12.5. Utilización de árboles binarios para construir árboles de expresión.
Capítulo 13 Árboles de búsqueda binaria
13.1. Un árbol de búsqueda binaria.
13.2. Implementación de árboles de búsqueda binaria mediante enlaces.
13.3. Utilización de árboles de búsqueda binaria: implementación de listas ordenadas.
13.4. Árboles de búsqueda binaria equilibrados.
13.5. Implementación de árboles de búsqueda binaria mediante árboles rojo/negro.
13.7. Implementación de árboles de búsqueda binaria mediante la Api collections de Java.
Capítulo 14 Árbol genealógico.
14.1. Árbol genealógico.
14.2. Diseño inicial.
14.3. Implementación de un árbol genealógico.
Capítulo 15 Cúmulos.
15.1. Cúmulos.
15.2. Utilización de cúmulos para ordenaciones por cúmulo.
15.3. Utilización de cúmulos para implementar colas de prioridad.
15.4. Implementación de cúmulos mediante enlaces.
15.5. Implementación de cúmulos mediante matrices.
15.6. Análisis de las implementaciones de cúmulos.
Capítulo 16 Árboles de búsqueda multivía.
16.1. Combinación de los conceptos de árboles.
16.2. Árboles 2-3.
16.3. Árboles 2.4.
16.4. Árboles B.
16.5. Motivación para el desarrollo de los árboles B..
16.6. Estrategias de implementación para los árboles B.
Capítulo 17 Funciones hash.
17.1.Almacenamiento hash.
17.2. Funciones hash.
17.3. Resolución de colusiones.
17.4. Borrado de elementos en una tabla hash.
17.5. Tablas hash en la api collections de Java.
Capítulo 18 Grafos.
18.1 Grafos no dirigidos.
18.2. Grafos dirigidos.
18.3. Redes.
18.4. Algoritmos comunes para los grafos.
18.5. Estrategias para la implementación de grafos.
Capítulo 19 Buscador web.
19.1. Buscador web.
19.2. Diseño inicial.
19.3. Implementación de un buscador web.
Índice.