PEÑA MARÍ, RICARDO
Este texto universitario presenta un amplia variedad de técnicas de programación, tales como el diseño y la verificación de programas recursivos, la formal de programas iterativos y la especificación algebraica de tipos abstractos de datos. Para cada técnica se presentan primero sus fundamentos matemáticos y se ejercita después la misma con numerosos ejemplos. En el texto se diseñan y verifican numerosos programas no triviales, que incluyen los algoritmos de ordenación quicksort, mergesort y heapso y muchos otros de tratamiento de árboles y grafos. También se presentan las especificaciones formales y las implantaciones más habituales de las estructuras de datos: pilas, colas, listas, árboles, montículos, tablas y grafos. El libro ha sido concebido para un segundo o tercer curso de programación que ponga el énfasis en los principios que guía el diseño de los programas y en los razonamientos sobre su corrección y eficiencia. Esta tercera edición ha sido ampliada en ciento cincuenta páginas y en tres capítulos finales que, en conjunto. constituyen un curso completo de estructuras de datos. La novedad con respecto a otros textos de estructuras de datos es que aquí los algoritmos se representan derivados paso a paso y acompañados de rigurosos razonamientos de corrección. El software que se incluye en este CD implementa algunas de las estructuras de datos y algoritmos del libro. Se puede usar libremente, incluso en proyectos comerciales, siempre que se cite su autoría y los programas se acompañen de las cabeceras de créditos correspondientes. Consta de: 1) La carpeta EstructuraDatos . Contiene estructuras de datos y programas de prueba de las mismas, escritos en Java, que han sido desarrollados y probados por el autor con la herramienta: Borland JBuilder X Foundation obtenida libremente de: http://www.borland.com ejecutada sobre Windows XP Home Edition 2) La carpeta Haskell . Contiene estructuras de datos y programas de prueba de las mismas, escritos en el lenguaje funcional Haskell98, que han sido desarrollados y probados por el autor con la herramienta: Hugs98 obtenida libremente de: http://www.haskell.org ejecutada sobre Windows XP Home Edition y sobre Linux Redhat 9.0