- Aunque los temas relacionados con la especificación y verificación formal de programas no gozan de mucha popularidad, es importante su inclusión en los temarios, sobre todo haciendo más hincapié en la derivacion de programas a partir de su especificacion, de forma que se obtiene un algoritmo correcto por construccion. - Con el presente libro se intenta contribuir a paliar este deficit, pero ademas en un formato apropiado para los alumnos que demandan como complemento a los "libros de teoria" y a los apuntes de clase, un libro de ejercicios resueltos. -De esta forma, cada capitulo comienza con una breve introduccion cuyo objetivo es repasar los conceptos principales y fijar las notaciones que se utilizan en el desarrollo posterior de las soluciones de los ejercicios, pero no supone un tratamiento detallado del tema, para el cual se remite a algunos libros de teoria, como el de Ricardo Peña: "Diseño de programas". La parte principal de cada capitulo consiste en una serie de ejercicios resueltos de dificultad creciente. Ademas, al final de cada capitulo se proponen nuevos ejercicios para resolver por el lector. - En la presentacion de las soluciones a los ejercicios resueltos se ve directamente una solucion que funciona, pero ya no hay ocasion de ver los posibles pasos fallidos que uno ha podido dar antes de llegar a la solucion, por lo que se anima a los lectores a intentar llegar a una solucion por su cuenta, para ver cuales son los pasos que hay que dar y con que opciones se enfrenta uno en cada paso. Sin embargo, la idea de la verificacion es que uno tiene tanto la especificacion como el programa y se comprueba "a posteriori" que en efecto el programa cumpla su especificacion. Para ello se utiliza una serie de reglas que se presentan e ilustran en los dos primeros capitulos. En el proceso de derivacion se usan esas mismas reglas, pero de una forma completamente distinta, que es la que se ilustra en los capitulos 4 y 5. El capitulo intermedio, el 3, se dedica a introducir lo
Este libro intenta llenar un hueco en el panorama editorial en el campo de las estructuras de datos y algoritmos, ya que la cantidad de libros de problemas resueltos sobre estos temas es muy escasa. El libro se divide en dos partes: la primera se dedica a las estructuras de datos (pilas, colas, listas, arboles binarios y generales, arboles de busqueda y tablas, colas con prioridad y grafos) y la segunda a los metodos algoritmicos (divide y venceras, metodo voraz, programacion dinamica, vuelta atras y ramificacion y poda), si bien es imposible separar por completo ambas materias, y esto se nota en algunos de los ejercicios que se incluyen. Cada capitulo empieza con una breve introduccion al tema correspondiente, donde se fijan los conceptos y notaciones que se utilizan en el desarrollo posterior de las soluciones de los ejercicios. A continuacion aparecen los enunciados de los ejercicios del tema, cada uno seguido de la solucion correspondiente. En general, la solucion que se ofrece no es la unica posible en absoluto y, de hecho, en algunos ejercicios se presenta mas de una solucion cuando la variacion es suficientemente interesante. Tras el exito de la primera edicion de 2003, se publica ahora esta segunda edicion en la que se han corregido las erratas conocidas hasta la fecha y se han mejorado las explicaciones atendiendo a las sugerencias recibidas a lo largo de los años.