¿Cuáles son los libros de Ciencias de la Computación (Algoritmo) que recomendará un topcoder?

Programación competitiva 2 (Programación competitiva 2)

Este libro está dirigido específicamente a alguien que quiera mejorar en los concursos de programación. Enumera muchos de los conceptos estándar cubiertos en concursos de programación, junto con problemas de muestra para practicar y soluciones de muestra para algunos de los problemas.

En términos de algoritmos de aprendizaje, recomendaría Kleinberg & Tardos (a menudo conocido como KT): (Diseño de algoritmo: Jon Kleinberg, Éva Tardos: 9780321295354: Amazon.com: Libros). Algunas personas recomendarán CLRS (Introducción a los Algoritmos) en su lugar: tenía los dos libros cuando era estudiante de segundo año en la escuela secundaria. Estaba tomando un curso de posgrado en algoritmos en ese momento y me referí a KT mucho más que a CLRS. La principal diferencia es que CLRS es mucho más riguroso matemáticamente, y el curso que estaba tomando no era matemáticamente riguroso, por lo que no necesitaba un tratamiento formal de algoritmos. Para los concursos de programación, definitivamente no necesitas mucho rigor matemático: es muy probable que KT sea más comprensible.

Sin embargo, para ser completamente honesto, resolver problemas es una de las mejores formas de aprender algoritmos. Realmente no entendí dónde o cómo usar la programación dinámica hasta después de haber resuelto un centenar de problemas DP.

Aquí hay una lista de libros que cualquier programador competitivo debe leer.

1. CLRS: aprenderá a analizar la complejidad temporal de su solución. Esto es importante ya que no desea codificar una solución solo para saber que es TLE más adelante. Si puede analizar rápidamente la complejidad de tiempo de su solución, podrá ahorrar un tiempo precioso para resolver más problemas bajo la restricción de tiempo.

2. Programación competitiva 3 (CP4 se lanzará el próximo año, espero)
Este es un libro de cocina de algoritmo imprescindible para cualquier programador competitivo que quiera ser. Muchos de los algoritmos cubiertos en este libro se implementan para el propósito del concurso, que es más útil que los pseudocódigos encontrados en los libros de algoritmos. Y detrás de cada sección, hay una lista de problemas con sugerencias sobre las que puede practicar.

3. Arte de algoritmos y concursos de programación 2ª edición (está en chino, no estoy muy seguro si existe una edición en inglés en algún lugar)
Este libro es excelente si eres un programador competitivo en ciernes. Introduce muchos de los conceptos / trucos básicos para la programación competitiva. el autor del libro es el ex medallista de IOI 4to y también el entrenador del equipo IOI China.

Amazon.com: Introducción a los algoritmos, segunda edición (9780262032933): Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: Libros