Prólogo Capítulo 1. Excepciones y aserciones 1.1 Temática a desarrollar 1.2 Introducción 1.3 Tipos de excepciones 1.4 Sentencias try, catch, finally 1.5 Implementación de las excepciones 1.6 La importancia de usar excepciones 1.7 Excepciones comunes 1.8 Ejercicios propuestos 1.9 Aserciones 1.10 Ejercicios propuestos Capítulo 2. Recursividad y estructuras de datos 2.1 Temáticas a desarrollar 2.2 Introducción 2.3 Características de la recursividad 2.4 Tipos de recursividad 2.5 Ejercicios propuestos 2.6 Estructura de datos 2.6.1 Estructuras de datos estáticas 2.6.2 Estructuras de datos dinámicas Capítulo 3. Arreglos unidimensionales o vectores 3.1 Temática a desarrollar 3.2 Introducción 3.3 Arreglos 3.3.1 Características de un arreglo 3.3.2 Tipos de arreglos 3.4 Arreglos unidimensionales o vectores 3.5 Operaciones con vectores 3.6 Implementación de operaciones con vectores 3.7 Ordenamiento de arreglos 3.8 Introducción a la complejidad computacional 3.8.1 Complejidad ciclo for 3.9 Ejercicios propuestos 3.10 Proyectos propuestos Capítulo 4. Arreglos bidimensionales o matrices 4.1 Temática a desarrollar 4.2 Introducción 4.3 Declaración de matrices en Java 4.4 Operaciones con matrices 4.5 Ejercicios propuestos Capítulo 5. Cadenas 5.1 Temática a desarrollar 5.2 Introducción 5.3 Clase String 5.4 Clase StringTokenizer 5.5 Clase StringBuffer 5.6 Arreglos de objetos 5.7 Ejercicios propuestos Capítulo 6. Listas con enlace sencillo 6.1 Temática a desarrollar 6.2 Introducción 6.3 Estructuras de datos dinámicas lineales 6.4 Representación gráfica de un nodo 6.5 Representación gráfica de una lista 6.6 Operaciones en listas enlazadas 6.7 Construcción de una lista en Java 6.7.1 Creación de un objeto de la clase Nodo 6.7.2 Implementación de operaciones básicas 6.7.3 Modelamiento del problema 6.7.4 Clase Nodo 6.7.5 La clase Lista 6.7.6 Validar lista 6.7.7 Clase Aplicación Lista 6.7.8 Ejecución de la aplicación 6.8 Ejercicios propuestos Capítulo 7. Listas de acceso restringido? ? Estructura pila 7.1 Temática a desarrollar 7.2 Introducción 7.3 Definición de una pila 7.4 Operaciones con las pilas 7.5 Representación de una pila 7.6 Implementación de las operaciones básicas en una pila 7.6.1 Validación de contenido 7.6.2 Método de inserción o push 7.6.3 Método de borrado o pop 7.6.4 Modelamiento y codificación 7.7 Ejercicios propuestos Capítulo 8. Listas de acceso restringido? ? Estructura cola 8.1 Temática a desarrollar 8.2 Introducción 8.3 Operaciones básicas 8.4 Implementación de las operaciones básicas 8.5 Ejercicios propuestos Capítulo 9. Listas con doble enlace 9.1 Temática a desarrollar 9.2 Introducción 9.3 Listas doblemente enlazadas 9.4 Operaciones con las listas de doble enlace 9.5 Implementación de las operaciones 9.6 Ejercicios propuestos Capítulo 10. Listas circulares enlazadas 10.1 Temática a desarrollar 10.2 Introducción 10.3 Lista circular sencilla 10.4 Operaciones con las listas de circulares sencillas 10.5 Modelamiento e implementación de operaciones 10.6 Lista circular doblemente enlazada 10.7 Operaciones con las listas de circulares doblemente enlazadas 10.8 Ejercicios propuestos Capítulo 11. Estructuras de datos dinámicas no lineales 11.1 Temática a desarrollar 11.2 Introducción 11.3 Árboles 11.3.1 Características de los árboles 11.3.2 Representación gráfica de un árbol 11.4 Árbol binario 11.4.1 Elementos de un árbol 11.4.2 Representación de un árbol binario en la memoria 11.4.3 Operaciones en un árbol binario 11.5 Arboles binarios de búsqueda 11.5.1 Creación de un ABB 11.5.2 Recorridos en los ABB 11.6. Modelamiento e implementación en un ABB 11.7 Arboles AVL 11.7.1 Operaciones con árboles AVL 11.7.2 Rotaciones 11.7.3 Factor de equilibro 11.8 Árboles n-arios 11.8.1 Representación gráfica del nodo de un árbol n-ario 11.8.2 Representación gráfica en memoria de un árbol n-ario 11.8.3 Recorridos de un árbol n-ario 11.8.4 Árbol genealógico 11.9 Ejercicios propuestos Capítulo 12. Grafos 12.1 Temática a desarrollar 12.2 Introducción 12.3 Matriz de adyacencia 12.4 Lista de adyacencia 12.5 Recorridos de los grafos 12.5.1 Recorrido en profundidad 12.5.2 Recorrido en anchura 12.6 Árboles de expansión mínima 12.7 Algoritmos de grafos 12.7.1 Algoritmo de Dijkstra 12.7.2 Algoritmo de Prim 12.7.3 Algoritmo de Kruskal 12.8 Implementaciones 12.9 Ejercicios propuestos Capítulo 13. Colecciones 13.1 Temática a desarrollar 13.2 Introducción 13.3 Colecciones 13.4 Jerarquía de las colecciones? 13.5 La interfaz Collection 13.6 La interfaz List 13.7 La interfaz Set 13.8 HashSet 13.9 La interfaz Map 13.10 HashMap 13.10.1 HashTable? 13.10.2 TreeMap 13.11 La interfaz Comparable 13.12 La interfaz Queue y Deque 13.13 Programación de las colecciones 13.14 Ejercicios propuestos Capítulo 14. Programación genérica 14.1 Temática a desarrollar 14.2 Introducción 14.3 Clase genérica 14.4 Lista sencilla 14.5 Pila 14.6 Ejercicios propuestos Referencias bibliográficas
Esta obra se divide en catorce capÃtulos, que desarrolla de forma clara y didáctica las estructuras de datos estáticas y dinámicas como medio para la organización y gestión de la información.Cada capÃtulo tiene una estructura que combina la teorÃa con los ejemplos y ejercicios prácticos, de la siguiente manera: Relación general de la temática a desarrollar Introducción al tema central donde se complementa con un mapa mental el desarrollo de la temática Ejemplos Preguntas de revisión de conceptos Ejercicios de apoyo complementario y fortalecimiento de los conceptos abordados