Libros y Solucionarios Más Descargados
Inicio » Ingeniería » Ingenieria Electrónica » Electrónica » Estructura de Datos en Java | 1ra Edicion | Luis Joyanes, Ignacio Zahonero

Estructura de Datos en Java | 1ra Edicion | Luis Joyanes, Ignacio Zahonero

Estructura de Datos en Java | 1ra Edicion | Luis Joyanes, Ignacio Zahonero Gratis en PDF

Estructura de Datos en Java  1ra Edicion  Luis Joyanes, Ignacio Zahonero

Estructura de Datos en Java 1ra Edicion Luis Joyanes, Ignacio Zahonero

Estructura de Datos en Java | 1ra Edicion | Luis Joyanes, Ignacio Zahonero esta edición describe, fundamentalmente, 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. A medida que las computadoras se vuelven más y más rápidas, la necesidad de programas que pueden manejar grandes cantidades de entradas se vuelve más críticas y su eficiencia aumenta a medida que estos programas pueden manipular más y mejores organizaciones de datos. Analizando un algoritmo antes de que se codifique realmente, los estudiantes pueden decidir si una determinada solución será factible y rigurosa. Por ejemplo, se pueden ver cómo diseños e implementaciones cuidadas pueden reducir los costes en tiempo y memoria. Por esta razón, se dedican dos capítulos, en exclusiva a tratar los conceptos fundamentales de análisis de algoritmos, y en un gran número de algoritmos se incluyen explicaciones de tiempos de ejecución para poder medir la complejidad y eficiencia de los mismos.

Uno de los objetivos fundamentales es enseñar al estudiante, simultáneamente, buenas reglas de programación y análisis de algoritmos de modo que puedan desarrollar los programas con la mayor eficiencia posible.

Aunque se ha tratado de que el material de este texto sea lo menos dependiente del lenguaje,la programación, como el lector sabe, requiere el uso de un lenguaje específico. En nuestro caso se ha elegido Java como espina dorsal de programación Java ya es un lenguaje de programación muy extendido en el mundo de la programación y de la ingeniería de software, tal vez el más utilizado por su gran vinculación con Internet y la web, y también en comparación con el otro gran lenguaje de programación C++. Java ofrece muchos beneficios y los programadores suelen verlo como más seguro, más portable y más fácil de utilizar que C++. Por estas propiedades, es un lenguaje idóneo para el examen e implementación de estructuras de datos fundamentales. Otras características importantes de Java, tales como hilos (threads) y sus GUIs (Interfaces gráficas de usuario), aunque importantes, no se suelen necesitar en este texto y, por consiguiente, no se han examinado.

A parte de los detalles de la obra que encontrará en el Centro de Información, los estudiantes podrán acceder libremente a un espacio pensado especialmente para ellos, el Centro del Estudiante, en el que podrán encontrar las soluciones desarrolladas a la parte práctica del libro. El Centro del Profesor, en cambio, es un espacio al que tan solo pueden acceder aquellos docentes que utilizan este manual en sus clases y está protegido con unas claves. En este espacio encontrará los materiales asociados al manual con los que pretendemos ayudarle en su docencia. Si usted, profesor de universidad, las desconoce debe ponerse en contacto con su representante de la División Universitaria de McGraw-Hill.

Tabla de Contenido

1. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Tipos de datos.
La necesidad de las estructuras de datos.
Algoritmos y programas.
Notación O-grande.

2. TIPOS DE DATOS: CLASES Y OBJETIVOS.
Abstracción en lenguajes de programación.
Tipos abstractos de datos.
Especificación de los tad.
Declaración de una clase.
Paquetes.
Constructores.
Recolección de objetos.
Objeto que envia el mensaje: this.
Miembros static de una clase.
Clase object.
Tipos abstractos de datos en Java.

3. ARRAYS (ARREGLOS) Y CADENAS.
Arrays (arreglos).
Arrays multidimensionales.
Utilización de arrays como parámetros.
Cadenas. Clase String.
Clase Vector.

4. CLASES DERIVADAS Y POLIMORFISMO.
Clases derivadas.
Herencia publica.
Constructores en herencia.
Métodos y clases no derivables: atributo final.
Conversiones entre objetos de clase derivada y clase base.
Métodos abstractos.
Polimorfismo.
Interfaces.

5. ALGORITMOS RECURSIVOS.
La naturaleza de la recursividad.
Métodos recursivos.
Recursión versus iteración.
Algoritmos divide y vencerás.
Backtracking, algoritmos de vuelta atrás.
Selección óptima.

6. ALGORITMOS DE ORDENACION Y BUSQUEDA.
Ordenación.
Algoritmos de ordenación básicos.
Ordenación por intercambio.
Ordenación por selección.
Ordenación por inserción.
Ordenación Shell.
Ordenación rapida (Quicksort).
Ordenación de objetos.
Búsqueda en listas: búsqueda secuencial y binaria.

7. ALGORITMOS DE ORDENACION DE ARCHIVOS.
Flujos y archivos.
Clase file.
Flujos y jerarquía de clases.
Ordenación de un archivo. Métodos de ordenación externa.
Mezcla directa.
Fusión natural.
Mezcla equilibrada múltiple.
Método polifásico de ordenación externa.

8. LISTAS ENLAZADAS.
Fundamentos teóricos de listas enlazadas.
Clasificación de listas enlazadas.
Tipo abstracto de datos (tad) lista.
Operaciones de listas enlazadas.
Inserción de un elemento en una lista.
Búsqueda en listas enlazadas.
Eliminación de un nodo de una lista.
Lista ordenada.
Lista doblemente enlazada.
Listas circulares.
Listas enlazadas genéricas.

9. PILAS.
Concepto de pila.
Tipo de dato pila implementado con arrays.
Pila dinámica implementada con un vector.
El tipo pila implementado como una lista enlazada.
Evaluación de expresiones aritméticas con pilas.

10. COLAS.
Concepto de cola.
Colas implementadas con arrays.
Cola con un array circular.
Cola con una lista enlazada.
Bicolas: colas de doble entrada.

11. COLAS DE PRIORIDADES Y MONTICULOS.
Colas de prioridades.
Tabla de prioridades.
Vector de prioridades.
Montículos.
Ordenación por montículos (Heapsort).
Cola de prioridades en un montículo.

12. TABLAS DE DISPERSION, FUNCIONES HASH.
Tablas de dispersión.
Funciones de dispersión.
Colisiones y resolución de colisiones.
Exploración de direcciones.
Realizacion de una tabla dispersa.
Direccionamiento enlazado.
Realizacion de una tabla dispersa encadenada.

13. ARBOLES: ARBOLES BINARIOS Y ARBOLES ORDENADOS.
Arboles generales y terminología.
Arboles binarios.
Estructura de un árbol binario.
Árbol de expresión.
Recorrido de un árbol.
Árbol binario de búsqueda.
Operaciones en árboles binarios de búsqueda.

14. ARBOLES DE BUSQUEDA EQUILIBRADOS.
Eficiencia de la búsqueda en un árbol ordenado.
Árbol binario equilibrado, arboles avl.
Inserción en arboles de búsqueda equilibrados: rotaciones.
Implementación de la inserción con balanceo y rotaciones.
Borrado de un nodo en un árbol equilibrado.

15. GRAFOS, REPRESENTACION Y OPERACIONES.
Conceptos y definiciones.
Representación de los grafos.
Listas de adyacencia.
Recorrido de un grafo.
Conexiones en un grafo.
Matriz de caminos. Cierre transitivo.
Puntos de articulación de un grafo.

16. GRAFOS, ALGORITMOS FUNDAMENTALES.
Ordenación topológica.
Matriz de caminos: algoritmos de warshall.
Caminos más cortos con un solo origen: algoritmo de dijkstra.
Todos los caminos mínimos: algoritmo de floyd.
Árbol de expansión de coste mínimo.

17. COLECCIONES.
Colecciones en java.
Clases de utilidades: arrays y collections.
Comparación de objetos: comparable y comparator.
Vector y stack.
Iteradores de una colección.
Interfaz Collection.
Listas.
Conjuntos.
Mapas y diccionarios.
Colecciones parametrizadas.

Título: Estructura de Datos en Java
Autores: Luis Joyanes, Ignacio Zahonero
Edición: 1ra Edición
Tipo: Libro
Idioma: Español

LINKS DE DESCARGA:
Comparte Nuestros Libros!
Facebook
Twitter
Google +
Youtube
Correo
Estructura de Datos en Java | 1ra Edicion | Luis Joyanes, Ignacio Zahonero Gratis en PDF Estructura de Datos en Java | 1ra Edicion | Luis Joyanes, Ignacio Zahonero esta edición describe, fundamentalmente, 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. A medida que las computadoras se vuelven más y más rápidas, la necesidad de programas que pueden manejar grandes cantidades de entradas se vuelve más…

Review Overview

0%

User Rating: 3.7 ( 1 votes)
0

Deja un Comentario

Tu dirección de email no será publicada.