Estructura de Datos Dinamicos. Una Forma Facil de
Una Forma Facil de Aprender
Libardo Pantoja, Cesar
Las estructuras de datos son importantes en el desarrollo de aplicaciones informáticas. Cuando se construyen los primeros programas, es decir, programas pequeños y sencillos, se piensa directamente en la escritura del código. Sin embargo, conforme los programas se hacen más largos y complejos, es necesario, poner atención a otros aspectos del software además de la codificación....
Sinopsis
Las estructuras de datos son importantes en el desarrollo de aplicaciones informáticas. Cuando se construyen los primeros programas, es decir, programas pequeños y sencillos, se piensa directamente en la escritura del código. Sin embargo, conforme los programas se hacen más largos y complejos, es necesario, poner atención a otros aspectos del software además de la codificación. Si se es un profesional del software, se requiere trabajar como parte de un equipo que desarrolla un sistema que contiene miles o incluso millones de líneas de código. En estos escenarios temas como la programación orientada a objetos, patrones de diseño, el proceso de desarrollo, buenas prácticas de programación, buenas prácticas de comunicación, ciclos de vida del software y, por supuesto, estructuras de datos adecuadas que manipulen los datos, cobran vital importancia. Las aplicaciones actuales son complejas y se escriben en capas, donde cada capa maneja un tipo de lógica específica. Los datos son una capa importante en cualquier aplicación, y su manipulación adecuada depende de las estructuras de datos que utilicemos. Este libro enseña de manera didáctica las estructuras de datos dinámicas lineales y no lineales: pilas, colas, listas, árboles y grafos. Se utiliza un pensamiento abstracto para estudiar cada estructura de datos, por ello se propone el TAD (Tipo Abstracto de Datos), su implementación y la resolución de problemas reales donde se pone en uso las estructuras de datos. El libro utiliza un paradigma orientado a objetos y ejemplos de implementaciones en lenguaje Java. Los algoritmos que manipulan dichas estructuras de datos también son tenidos en cuenta desde el punto de vista de la complejidad computacional. Por ello, en sus primeros capítulos se introduce en las técnicas básicas de análisis de algoritmos para calcular la eficiencia de los algoritmos. El libro contribuye a la formación de estudiantes de ingeniería de sistemas, ingeniería informática y profesionales afines, que
Índice
SOBRE LOS AUTORES PREFACIO PRÓLOGO CAPÍTULO 1. INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS 1.1 DEFINICIÓN DE ESTRUCTURA DE DATOS 1.2 OPERACIONES 1.3 CLASIFICACIÓN 1.3.1 Estructuras de Datos Internas y Externas. 1.3.2 Estructuras de Datos Estáticas. 1.3.3 Estructuras de Datos Dinámicas. 1.3.4 Estructuras de Datos Lineales 1.3.5 Estructuras de Datos no Lineales. CAPÍTULO 2. ANÁLISIS DE ALGORITMOS. 2.1 ALGUNAS ACLARACIONES. 2.2 DEFINICIÓN DE ALGORITMO 2.3 FACTORES QUE INFLUYEN EN LA EFICIENCIA DE UN ALGORITMO. 2.4 COMPLEJIDAD COMPUTACIONAL 2.5 FUNCIÓN DE COMPLEJIDAD. 2.6 PRELIMINARES MATEMÁTICOS. 2.6.1 Propiedades de sumatorias 2.6.2 Funciones piso y techo. 2.7 CÁLCULO DE LA FUNCIÓN DE COMPLEJIDAD. 2.7.1 Calcular T (n) para sentencias consecutivas 2.7.2 Calcular T (n) para condicionales 2.7.3 Calcular T (n) para ciclos. 2.8 ORDEN DE MAGNITUD (NOTACIÓN O GRANDE) 2.8.1 Definición matemática del Orden de Magnitud CAPÍTULO 3. TIPOS ABSTRACTOS DE DATOS 3.1 INTRODUCCIÓN. 3.2 DEFINICIÓN DE TAD 3.3 MÉTODOS PARA ESPECIFICAR UN TAD 3.3.1 Métodos formales. 3.3.2 Métodos no formales 3.3.3 Métodos semiformales. 3.4 CLASIFICACIÓN DE LAS OPERACIONES DE UN TAD. 3.5 EJERCICIOS PROPUESTOS CAPÍTULO 4. PILAS 4.1 INTRODUCCIÓN. 4.2 DEFINICIÓN DE PILA. 4.3 EL TAD PILA 4.4 IMPLEMENTACIÓN DEL TAD PILA EN JAVA 4.5 LA CLASE STACK DE JAVA. 4.6 PROBLEMAS QUE SE RESUELVEN CON PILAS. 4.6.1 Evaluación de la correspondencia de delimitadores 4.6.2 Evaluación de expresiones aritméticas 4.7 EJERCICIOS PROPUESTOS CAPÍTULO 5. COLAS 5.1 INTRODUCCIÓN. 5.2 DEFINICIÓN DE COLA. 5.3 EL TAD COLA 5.4 IMPLEMENTACIÓN DEL TAD COLA EN JAVA 5.5 LA INTEFACE QUEUE DE JAVA 5.6 PROBLEMAS QUE SE RESUELVEN CON COLAS. 5.6.1 Simulador del despegue y aterrizaje de aviones. CAPÍTULO 6. LISTAS. 6.1 INTRODUCCIÓN. 6.2 DEFINICIÓN DE LISTA 6.3 TIPOS DE LISTAS 6.3.1 Listas enlazadas simples. 6.3.2 Listas doblemente enlazadas 6.3.3 Listas Circulares 6.3.4 Listas doblemente enlazadas circulares. 6.3.5 Listas de listas. 6.4 EL TAD LISTA. 6.5
Comentarios
Sé el primero en comentar este libroArtículos relacionados