520 |
|
Este libro cubre técnicas para el diseño y análisis de algoritmos. Las técnicas algorítmicas cubiertas incluyen: divide y vencerás, retroceder, programación dinámica, algoritmos codiciosos y escalada. Cualquier problema que se pueda resolver generalmente tiene al menos un algoritmo de cada uno de los siguientes tipos: 1. la forma obvia; 2. la forma metódica ;3.la manera inteligente; y 4.el camino milagroso. En el primer y más básico nivel, la solución "obvia" podría intentar buscar exhaustivamente la respuesta. Intuitivamente, la solución obvia es la que resulta fácil si estás familiarizado con un lenguaje de programación y las técnicas básicas de resolución de problemas. El segundo nivel es el nivel metódico y es el corazón de este libro: después de comprender el material aquí presentado, debes ser capaz de convertir metódicamente los algoritmos más obvios en algoritmos de mejor rendimiento. El tercer nivel, el nivel inteligente, requiere una mayor comprensión de los elementos involucrados en el problema y sus propiedades o incluso una reformulación del algoritmo (por ejemplo, los algoritmos numéricos explotan propiedades matemáticas que no son obvios). Un algoritmo inteligente puede ser difícil de entender si no es obvio que es correcto, o puede ser difícil entender que en realidad se ejecuta más rápido de lo que parecería requerir. |