¿Qué libro de algoritmos introductorios debería leer una mente matemáticamente inclinada?

Desafortunadamente, tengo que estar en desacuerdo con Michael en este caso.

El TAOCP de Donald Knuth es demasiado largo para aprender a diseñar algoritmos por primera vez. Un novato, no importa cuán diligente y brillante sea, es probable que pierda la paciencia y se rinda si quiere pasar por las 3168 páginas de los libros de Knuth de principio a fin. Incluso si el alumno en cuestión aún persiste en continuar el camino de TAOCP yendo por una muestra en lugar de intentar trabajar a través de los libros en un orden lineal, puede que no sea una forma obvia de hacerlo de manera equilibrada.

Por otro lado, la alternativa es mucho más fácil. Simplemente tome uno de los libros de texto modernos sobre algoritmos, aprenda los conceptos básicos y luego vaya a TAOCP si tiene curiosidad / necesita aprender algo con más detalle.

En comparación, el libro que solía enseñarme algoritmos (antes de comenzar la escuela de posgrado) fue un hermoso libro de Dasgupta, Papadimitriou y Vaziriani, que con solo 318 páginas logra dar una introducción moderna y bastante completa a los algoritmos. El libro toca todos los temas principales del tema con un enfoque en los paradigmas comunes que subyacen a muchas técnicas algorítmicas diferentes. (Como beneficio adicional, el libro incluso logra exprimir algunos de los desarrollos más recientes, como la computación cuántica / algoritmos).

Otra opción muy popular es el libro de Kleinberg y Tardos (Algorithm Design: 9780321295354: Computer Science Books @ Amazon.com), que es un poco más largo pero aún bastante manejable. (Por cierto, todos los autores mencionados anteriormente, como E. Tardos, U. Vaziriani, C. Papadimitriou, son figuras destacadas en diseño de algoritmos y Ciencias de la Computación Teórica en general. (¡Este último es incluso un ganador del premio Knuth!) Para que pueda confíe en que los materiales provienen de las fuentes correctas aquí).

Creo que una vez que el lector haya adquirido una base básica en el tema a través de estos libros (o incluso a lo largo de la lectura de estos), puede volver a Knuth para ver algunas de las gemas escondidas allí, y también para obtener más experiencia en su área particular de interés. Pero como expliqué, para la primera introducción, otros libros podrían funcionar mejor.

Donald Knuth también colaboró ​​en un gran libro con Ronald Graham y Oren Patashnik, que encontré realmente útil la primera vez que me sumergí en algoritmos. El nombre es Matemáticas concretas: una base para la informática . Aunque es probable que ahora tenga 20 años, todavía es bastante pertinente y legible también. Recomendado.

Si tiene una mente matemáticamente inclinada, está listo para la obra maestra de los libros de algoritmos: el Arte de la programación de Donald Knuth, Volumen 1-3.
¡Los mejores deseos!