En las estructuras de datos dinámicas el tamaño y su forma es variable a lo largo de un programa, es decir, la memoria se reserva a tiempo de corrida del programa; este tipo de estructuras está conformada por nodos, los cuales tienen como mínimo dos campos: uno de información (clientes, pasajeros, cuenta bancaria, entre otros) y otro que contiene la referencia del siguiente nodo; los nodos se crean y destruyen en tiempo de ejecución. Esto hace dimensionar la estructura de datos de una forma precisa permitiendo la asignación de memoria en tiempo de ejecución según se va requiriendo.Con el propósito de lograr lo anterior, esta obra se divide en catorce capítulos, cada uno distribuido de la siguiente manera: relación general de la temática a desarrollar, una introducción al tema central donde se complementa con un mapa mental, el desarrollo de la temática respectiva incluyendo ejemplos, se recomiendan unas lecturas que posibilitan ampliar el tema, unas preguntas de revisión de conceptos y, finalmente, se propone una serie de ejercicios como apoyo complementario y fortalecimiento de los conceptos abordados.
Estructuras de datos. Fundamentación práctica
Baquero Rey, Luis Eduardo; Hernández Bejarano, Miguel
*Este valor puede ser aproximado y podrá variar al momento del pago.
2021 | eBook |
Descripción
En las estructuras de datos dinámicas el tamaño y su forma es variable a lo largo de un programa, es decir, la memoria se reserva a tiempo de corrida del programa; este tipo de estructuras está conformada por nodos, los cuales tienen como mínimo dos campos: uno de información (clientes, pasajeros, cuenta bancaria, entre otros) y otro que contiene la referencia del siguiente nodo; los nodos se crean y destruyen en tiempo de ejecución. Esto hace dimensionar la estructura de datos de una forma precisa permitiendo la asignación de memoria en tiempo de ejecución según se va requiriendo.Con el propósito de lograr lo anterior, esta obra se divide en catorce capítulos, cada uno distribuido de la siguiente manera: relación general de la temática a desarrollar, una introducción al tema central donde se complementa con un mapa mental, el desarrollo de la temática respectiva incluyendo ejemplos, se recomiendan unas lecturas que posibilitan ampliar el tema, unas preguntas de revisión de conceptos y, finalmente, se propone una serie de ejercicios como apoyo complementario y fortalecimiento de los conceptos abordados.
Información adicional
Subtítulo | |
---|---|
Número de edición | |
ano | |
Autor | |
Editorial | |
ID Digital Content | |
Formato | |
EISBN |
Tabla de contenido
PrólogoCapí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