¿Qué nivel / conocimiento de programación debería tener para obtener el máximo provecho de CLRS? [Más detalles en mi respuesta contraída]

Como has dicho, el libro es bastante autónomo. Me tomó un tiempo acostumbrarme al pseudocódigo, pero aparte de eso, los desafíos son de otro tipo, ya que el libro es muy riguroso y está orientado a pruebas.

Podrá implementar las cosas en los primeros capítulos (todos los algoritmos de clasificación vienen a la mente). Incluso puede continuar con algunas de las estructuras de datos básicas, como tablas hash, pilas y colas, ya que una implementación básica requiere poco más que una matriz y un par de funciones. Pero después de eso, pasará un mal momento sin clases (y una buena comprensión de los punteros si está trabajando con C ++).

Pero, si su objetivo es una programación competitiva, CLRS podría no ser la mejor manera de llegar allí. Es una lectura lenta y más una forma de consolidar su conocimiento y ver cómo funcionan las pruebas. El “Manual de diseño de algoritmos” de Skiena responderá mejor a su propósito. Proporciona ejemplos de código en C que está lo suficientemente cerca (incluso podría traducirlo a C ++ como ejercicio). Otra opción son los tutoriales en TopCoder que son bastante buenos por lo que he visto. No me malinterpreten, CLRS es un gran libro. Es lento y menos enfocado en la resolución de problemas.

More Interesting

¿Qué bibliotecas o marcos de Python, C son buenos para las pruebas de diagnóstico en estadísticas?

¿Es adecuado CLRS para que un principiante comience su viaje de algoritmos y estructuras de datos? En caso afirmativo, ¿cómo se debe proceder?

¿Cómo elige Chrome el color de las rayas en las miniaturas de la página "Más visitadas"? Está claramente basado en el favicon, pero no puedo decir exactamente cómo se deriva.

¿Podemos aplicar Ford-Fulkerson a un gráfico de múltiples fuentes y sumideros múltiples?

Dado un gráfico bipartito, ¿cómo puedo encontrar su subgrafo que es un gráfico bipartito completo y tiene la mayor cantidad de vértices?

¿Cuáles son algunos algoritmos que todo programador debe aprender / saber?

¿Qué es el recorrido NAT y por qué debería usarlo?

¿Qué método podría ser razonable para un libro de ejercicios de matemática generadora de tiempo real basado en la web?

¿Cuáles son los algoritmos más útiles para el desarrollo de juegos?

¿Cómo podemos almacenar los enlaces de una lista vinculada en una matriz dinámica?

Si uno es un desarrollador JS (comprende algoritmos, estructuras de datos, patrones), ¿qué tan difícil sería cambiar al desarrollo Java o C ++?

¿Puedo usar mi algoritmo para ejecutar operaciones con Zerodha Kite Connect?

¿Cuándo podemos usar la máquina de vectores de soporte básica sobre otros algoritmos de clasificación?

¿Por qué es 5n + 8n ^ 2 + 100n ^ 3 = O (n ^ 4)?

¿Cuáles son algunos avances en ciencias de la computación realizados por científicos mientras trabajaban en la industria?