Depende de lo que quieras decir con leer . Si planea leerlos de la misma manera que leería una novela (siéntese, lea las palabras, pase las páginas), entonces no tiene mucho sentido.
Hay una cita de Bill Gates en la parte posterior de TAOCP:
Si crees que eres un buen programador … lee [El arte de la programación de computadoras de Knuth] … Definitivamente deberías enviarme un currículum si puedes leerlo todo.
- Si arr es una matriz de enteros, ¿por qué la expresión ar ++ no es legal?
- ¿Es posible resolver un problema de cambio de monedas para algunos elementos cíclicos a través de la programación dinámica si no se permite el uso de monedas adyacentes?
- ¿Cómo puedo cambiar el tamaño de una imagen a un ancho y alto específicos sin dejar de mantener su relación de aspecto? Estoy buscando ideas de algoritmos.
- ¿Cómo resuelven los árboles de segmentos el problema de apuñalamiento (todos los intervalos que contienen un punto dado)?
- ¿Cuál es la diferencia entre los métodos de búsqueda y los algoritmos utilizados por los motores de búsqueda de Google, Yahoo y Bing? ¿Cómo lo explicarías de una manera simple?
Cualquiera que sepa leer puede “leer” a Knuth, pero, por supuesto, eso no es lo que Gates quiso decir. Debe asegurarse de comprender cada sección a medida que avanza. Puede hacerlo utilizando los problemas de los capítulos o aplicando los conceptos a un proyecto de programación o problema de programación competitiva. Con ese enfoque, podría llevarle años leer esos libros (especialmente Knuth). Pero mientras tanto, obtendrías bastante buenos algoritmos.
Una respuesta más directa: elija uno de los primeros tres libros (guarde Knuth para más adelante) y léalo utilizando el proceso que describí. En ese punto, probablemente sabrá todo lo que necesita sobre algoritmos, a menos que realmente quiera especializarse en esa área.