16 dic 2013

Estructura de datos en C++ - Luis Joyanes y Ignacio Zahonero

Dos de las disciplinas clásicas en todas las carreras relacionadas con la Informática y las Ciencias de la Computación son: Estructuras de Datos y Algoritmos o bien una sola disciplina, si ambas se estudian integradas en Algoritmos y Estructuras de Datos. El estudio de estructuras de datos y de algoritmos es tan antiguo como el nacimiento de la programación y se ha convertido en estudio obligatorio en todos los currículos desde finales de los años sesenta y
sobre todo en la década de los setenta cuando apareció el Lenguaje Pascal de la mano del profesor suizo Niklaus Wirtz, y posteriormente en la década de los ochenta con la aparición de su obra —ya clásica— Algorithms and Data Structures en 1986. Estructuras de Datos en C++ trata sobre el estudio de las estructuras de datos dentro del marco de trabajo de los tipos abstractos de datos (TAD) y objetos, bajo la óptica del análisis, diseño de algoritmos y programación, realizando las implementaciones de los algoritmos en C++.

C++ es un superconjunto y una extensión de C, tópico conocido por toda la comunidad de programadores del mundo. Cabe preguntarse como hacen muchos autores, profesores, alumnos y profesionales: ¿Se debe aprender primero C y luego C++? Stroustrup —creador y padre de C++— junto con una gran mayoría de programadores contesta así: “No sólo no es innecesario aprender primero C, sino que además es una mala idea”. Nosotros no somos tan radicales y pensamos que se puede llegar a C++ procediendo de ambos caminos. En el caso de un libro de Estructuras de Datos como el que Vd. tiene en sus manos, la problemática es la misma, por lo que se puede aprender a analizar y diseñar estructuras de datos directamente desde C++ . Pero en cualquier forma y en apoyo de nuestra teoría anterior, hemos introducido en los primeros capítulos los conceptos básicos necesarios para seguir el contenido de la obra tanto si usted ya es programador de C++ como si procediese de C y no tuviese esa formación específica en C++.

¿Porqué en C++ y no en Java, porqué no en C/C++ o en Visual Basic/C# ? Muchas Facultades y Escuelas de Ciencias y de Ingeniería, así como Institutos Tecnológicos y Centros de Formación Profesional, comienzan sus cursos de Estructuras de Datos con el soporte de C y muchas otras con el soporte de C++ o Java. De hecho, en nuestra propia universidad, en asignaturas relacionadas con esta disciplina se aprende a diseñar y construir estructuras de datos utilizando C, C++ o Java, a veces, indistintamente. ¿Existe una solución ideal? Evidentemente, consideramos que no y cada una de ellas tiene sus ventajas y sus inconvenientes, y es la decisión del maestro y profesor, responsable de su formación, quien debe elegir aquella que considera más recomendable para sus alumnos teniendo en cuenta el entorno y contexto donde se desarrolla su labor, ya que siempre pensará en su mejor futuro y por esta razón siempre la encajará dentro del currículo específico de su carrera en el lugar que considere más oportuno.

Contenido:

Prólogo
Capítulo 1. Desarrollo de software. Tipos abstractos de datos
Capítulo 2. Clases y objetos
Capítulo 3. Tipos de datos básicos: Arrays, cadenas, estructuras y tipos enumerados
Capítulo 4. Clases derivadas: herencia y polimorfismo
Capítulo 5. Genericidad: plantillas (templates)
Capítulo 6. Análisis y eficiencias de algoritmos
Capítulo 7. Algoritmos recursivos
Capítulo 8. Algoritmos de ordenación y búsqueda
Capítulo 9. Algoritmos de ordenación de archivos
Capítulo 10. Listas
Capítulo 11. Pilas
Capítulo 12. Colas
Capítulo 13. Colas de prioridades y montículos
Capítulo 14. Tablas de dispersión, funciones hash
Capítulo 15. Biblioteca estándar de plantillas (STL)
Capítulo 16. Árboles. Árboles binarios y árboles ordenados
Capítulo 17. Árboles de búsqueda equilibrados. Árboles B
Capítulo 18. Grafos
Índice analítico

Estructura de datos en C++ - Luis Joyanes y Ignacio Zahonero
ENLACES

No hay comentarios:

Publicar un comentario

 

FREELIBRITOS Copyright © 2011-2012 | Powered by Blogger