¿Cuál es el orden recomendado para leer los siguientes libros de programación competitiva?

Leer muchos libros no es la manera de mejorar en la programación competitiva. Elija uno de esos libros de algoritmos y úselo como referencia cuando necesite un algoritmo para resolver un problema de programación competitivo. Si no tienes preferencia, iría con CLRS o Sedgewick. Use CLRS si se siente más cómodo con la teoría y las matemáticas, y Sedgewick si aprende mejor al ver implementaciones reales. Si está satisfecho con Java, puede obtener la cuarta edición de un solo volumen de Sedgewick. Si necesita C ++, tendrá que ir con la versión multivolumen.

Para problemas más fáciles (“ad-hoc”), no necesita un libro de algoritmos en absoluto. Solo necesita conocimientos básicos de un lenguaje de programación y la capacidad de pensar en un problema. Puede progresar mucho en la fluidez de la programación simplemente resolviendo ese tipo de problemas.

Cuando tenga más experiencia, comenzará a necesitar algoritmos específicos. El libro de Halim es bueno para aprender sobre técnicas que se aplican específicamente a la programación competitiva. También tiene un buen sitio web complementario: uHunt :: UVa Hunting. Ese sitio lo dirigirá a problemas que utilizan algoritmos específicos, para que pueda aprender algoritmos de manera práctica.

¿Porqué tantos?

Eso es conocimiento repetido. Solo estudia uno: “Introducción …”
Luego usa los otros para detectar las diferencias.