¿Cuál es el mejor libro para aprender a codificar como un autoestudio?

Comience con la codificación básica, para empezar, recomiendo Python.
Es fácil de aprender, muy potente y, sin embargo, amigable para los principiantes.

No intente implementar algoritmos y estructuras de big data inmediatamente. Ponte de acuerdo con el idioma, prueba cosas básicas, códigos pequeños, etc.

Una vez que tenga la confianza suficiente, comience a leer “Estructuras de datos y algoritmos de Andrew Tanunbaum”.
Recuerde, aclarar los conceptos es la parte importante en este punto. No intentes analizar los algoritmos en este punto.
Esto llevará tiempo, pero es importante tener una base sólida.

Una vez que haya terminado con esto (después de mucho trabajo), es el momento de profundizar en el conocimiento y comprender las complejidades de los algoritmos que ha implementado.
Para este propósito, recomiendo altamente, “Introducción a los algoritmos por Thomas Cormen”
También conocido como CLRS.
Este libro, en mi opinión, es el mejor libro que he leído sobre algoritmos.

Y el punto extra es que, el mismo Thomas Cormen es un usuario activo en Quora.

“Estructuras de datos y algoritmos” es el tema favorito de las empresas entrevistadas.

Cuando su experiencia aumenta, más de 4 años y luego el diseño del sistema se vuelven importantes.

Si buscas preparación para la entrevista. Puede comenzar con ” Resolución de problemas en estructuras de datos y algoritmos ” escrito en varios idiomas como C, C ++, Java, C #, Python, Go, etc. Estos libros son fáciles de seguir y están escritos para el punto de vista de la entrevista . Además, estos libros tienen el último capítulo sobre Diseño de sistemas , que también se requiere en las entrevistas.

Los enlaces de los libros sobre amazon están abajo:

1. Resolución de problemas en estructuras de datos y algoritmos usando C

2. Resolución de problemas en estructuras de datos y algoritmos utilizando C ++

3. Resolución de problemas en estructuras de datos y algoritmos utilizando Java

4. Solución de problemas en estructuras de datos y algoritmos utilizando C #

5. Solución de problemas en estructuras de datos y algoritmos utilizando Python

6. Estructuras de datos y algoritmos en Go

Descargo de responsabilidad: Soy autor de todos los libros anteriores.

Realmente no estoy de acuerdo con que C sea un buen primer idioma; es posible que aprendas mucho sobre los punteros y la asignación de memoria, pero la mayoría de los lenguajes “más nuevos” evitan esos conceptos. La mayoría de los que llevamos mucho tiempo programando C hemos olvidado lo difícil que puede ser la sintaxis para un principiante. Por ejemplo, sé que al principio de mi proceso de aprendizaje de C, cometí errores de uno en uno, hice una asignación en lugar de una comparación (si (x == 1), no si (x = 1)), no pasé una variable por referencia, etc. Si está tratando de aprender ciencias de la computación, podría ser bueno aprender sobre la manipulación de punteros, pero ese no es realmente un concepto de programación central a menos que sea un programador de C. Prefiero enseñar conceptos básicos de programación primero, antes de meterme en la maleza.

Tengo un par de libros de Headfirst (creo que tengo “Análisis de datos” y “Rails”), y realmente me gusta la explicación directa del material. Creo que la programación Headfirst ( http://www.headfirstlabs.com/boo …), que utiliza Python como lenguaje parece un excelente libro de inicio. Python me parece un lenguaje de enseñanza mucho mejor porque tiene una sintaxis mucho más consistente y legible, y el shell REPL interactivo significa que puedes probar fragmentos de código una línea a la vez, por lo que no pierdes tanto tiempo aprendiendo cómo hacerlo. compilar correctamente.