¿Es 8 meses el tiempo suficiente para ser bueno en estructuras de datos, algoritmos y Java desde cero?

Por supuesto que no, eso no debería impedirte intentarlo.

Usted sabe, hay una buena razón por la cual las ciencias de la computación se estudian durante años, incluso en los niveles de licenciatura y posgrado, por personas bastante inteligentes. El campo es muy amplio y hay mucho que saber y aprender que le tomaría varias vidas absorberlo todo, siempre y cuando pueda acomodarlo todo en su cabeza.

En consecuencia, hay excepcionalmente pocas personas que podrían ser etiquetadas como maestros del comercio. Nunca se llamarían a sí mismos así, porque, cuanto más sabes, más te das cuenta de cuánto más hay que aprender y más te das cuenta de que, de hecho, sabes muy poco, en términos absolutos, aunque tu conocimiento Podría ser vasto, en relación con otras personas.

En 8 meses, usted:

  • Aprende la mecánica y los principios de las estructuras de datos más utilizadas.
  • Comprenda qué son los algoritmos, la notación Big-O, elija algunos algoritmos de clasificación, comprenda la recursión, la programación dinámica, etc.
  • Entenderá los algoritmos que se usan comúnmente contra clases de estructura de datos, como algoritmos basados ​​en heap, árboles de búsqueda binarios, etc.
  • Comprenderás la sintaxis de Java y algo de la naturaleza del lenguaje. Aprenderás una parte muy pequeña del tiempo de ejecución de Java.

Entonces, eso es lo que podrías hacer en 8 meses. La lista de lo que no podría hacer es más larga en varios órdenes de magnitud, así que no la escribiré.

Ahora, hay un problema fundamental con su pregunta, o una clase completa de preguntas similares, que encuentro muy, muy molestas. Hance, por favor lee lo siguiente con mucho cuidado:

Las estructuras de datos y los algoritmos no son un conjunto finito de recetas que se insertan en su cerebro y, de repente, se convierten en un prodigio de resolución de problemas algorítmicos. No solo recopila los algoritmos más conocidos, como Dijkstra o Knuth-Morris-Pratt, como si fueran trofeos. No “aprendes” la programación dinámica, porque es un concepto: entiendes sus principios y los aplicas un millón de veces. No hay obstáculos para el dominio, solo años de trabajo duro. Estarás aprendiendo toda tu vida.

Déjame saber lo que has logrado en 8 meses a partir de ahora y que te acompañe en ese viaje.

Si está realmente interesado, puede conocer las estructuras de datos y los algoritmos básicos.
Primero debe aprender lo básico de Java (si conoce cualquier otro lenguaje de programación (como C, C ++) sería fácil).
La mejor manera es practicar problemas de programación de estructuras de datos en Java.
Puedes probarlo con GeeksforGeeks | Un portal informático para geeks.
O puede participar en la programación competitiva y aumentar sus habilidades de codificación. Echa un vistazo a este Code Monk – Sé un mejor programador