Prólogo
La algoritmia es uno de los pilares de la programación y su relevancia se muestra en el desarrollo de cualquier aplicación, más allá de la mera construcción de programas. Este es un libro introductorio sobre análisis y diseño de algoritmos que pretende exponer al lector las técnicas básicas para su diseño e implementación, así como presentar unas herramientas que le permitan medir su efectividad y eficiencia. Objetivos Si bien es cierto que es amplia la bibliografía existente sobre algoritmia, no es menos cierto que casi toda obedece a un mismo esquema general. Se presentan las técnicas básicas de resolución de problemas en base a unos ejemplos clásicos, para después dejar propuesta al lector una colección de problemas sobre cada tema. Pero ocurre que casi todos los autores proponen los mismos problemas y pocos llegan a resolverlos, lo que hace que los estudiantes de algoritmos pierdan de alguna forma las enseñanzas que se extraen de ellos. Esto no sería importante si los problemas propuestos fueran meramente ejercicios que repiten fielmente los métodos enseñados. Sin embargo éste no es el caso, pues cada ejercicio proporciona un nuevo enfoque para abordar los problemas o permite combinar algunas de las técnicas, lo que enriquece el estudio de los métodos y algoritmos tratados. Por otro lado, nuestra experiencia en la enseñanza de las asignaturas relacionadas con la algoritmia nos ha hecho ver la importancia que tiene el disponer de una metodología de diseño que permita abordar la resolución de los problemas de una forma unificada y coherente. Esta obra nace con la intención de llenar un vacío en la bibliografía sobre estos temas. En primer lugar ofreciendo un método de diseño general aplicable a cada una de las técnicas, y en segundo lugar proporcionando una amplia selección de ejemplos y problemas resueltos. A lo largo de todo el texto se ha prestado una atención especial a la integración del diseño de los algoritmos con el análisis de su eficiencia.