Soy un desarrollador web que trabaja en el marco Python Django durante el año pasado. ¿Puedo aprender estructuras de datos y algoritmos si paso solo 2-3 horas diarias?

Buenas noticias señor! ¡Sí tu puedes!

2 horas diarias son suficientes, ya que las estructuras de datos y los algoritmos son básicamente temas lógicos, si tienes una buena mente lógica, los conceptos no serían difíciles de entender. Dado que ya está trabajando como desarrollador web, tiene la lógica ordenada correctamente, por lo que esto no debería ser un problema, tiene antecedentes y realmente ayudará.
Comience con la estructura de datos más básica, matrices, matrices de enteros básicamente.
Aprenda e implemente varias técnicas de clasificación en estas matrices de enteros en c o c ++. En el proceso también aprenderá la sintaxis y los diferentes procedimientos, funciones, utilizados en C / C ++. (Prefiero C ++).
Implementar pila, que y montones en una matriz de enteros.
Después de que se haya sentido bastante cómodo trabajando con matrices de enteros, aprenda el concepto de punteros.
Con la ayuda del puntero, definiremos otra estructura de datos, la lista vinculada.
Las listas vinculadas se vuelven bastante fáciles, una vez que comprende el funcionamiento de los punteros.
Aprenda acerca de la implementación de stack / que en la lista vinculada y todas las cosas que implementó en la matriz, también se pueden implementar aquí en las listas vinculadas.
Estos son conceptos básicos de las estructuras de datos que debería poder completar en las primeras 2-3 semanas más o menos.
Después de esto, pruebe algunos problemas competitivos en www.geeksforgeeks.com
Es una de las mejores plataformas en línea para aprender código .
En lo que respecta a los algoritmos, no creo que se requiera un estudio en profundidad para un entorno competitivo. En lo que debe concentrarse es en el análisis y la comprensión de un algoritmo determinado, o el algoritmo que está utilizando.
Debe aprender varias anotaciones sobre la complejidad del espacio y el tiempo, y también aprender a representarlo y calcularlo.
Espero que haya ayudado. (:

Dado que su objetivo es obtener conocimientos prácticos de estructuras de datos y algoritmos para entrevistas, sugeriría libros que tengan preguntas de entrevistas como estructuras de datos y algoritmos simplificados por Narasimha Karumanchi y Cracking the Coding Interview por Gayle Laakmann McDowell. La pregunta en estos libros está diseñada de tal manera que tienen múltiples soluciones. Estas variaciones en las soluciones no son más que optimización y cómo se utilizan diferentes estructuras de datos y algoritmos para resolverlos. En resumen, aprenderá cómo usar qué, cuándo y dónde mientras programa.

Una vez que haya desarrollado una comprensión básica de cómo abordar un problema y refinar la solución trivial para él, recomendaría HackerRank y principiante | CodeChef, las secciones de práctica.

Con el tiempo verá que puede comprender rápidamente las soluciones optimizadas para los problemas sin preocuparse demasiado por la solución trivial. Es entonces cuando debe saltar a la sección de programación competitiva desde los mismos sitios web mencionados anteriormente. Sin embargo, dado que usted es un profesional independiente y lo hace principalmente por el bien de la entrevista, no necesita ir a una programación competitiva. En cambio, comience a contribuir más para proyectos de código abierto y cree su perfil de GitHub. Es un camino largo, frustrante y altamente desmotivador, pero llegarás allí (¡Esto es algo con lo que me puedo identificar, ya lo hice!) ¡Buena suerte! 🙂

Si! Si!

Las estructuras de datos y los algoritmos son muy importantes para descifrar entrevistas en grandes empresas (GAFA – Google, Amazon, Facebook, Apple) y puede aprenderlas en la práctica habitual. Hice Tecnología de la Información y la Comunicación en mi B.Tech y no le di mucha importancia a los Algoritmos y DS durante mis días de universidad, pero más tarde cuando salí de la universidad me di cuenta de la necesidad de ellos.

Logré aprenderlos viendo videos del MIT (Video Lectures | Introducción a los algoritmos (SMA 5503) | Ingeniería eléctrica y ciencias de la computación | MIT OpenCourseWare) y otros portales de codificación (geeksforgeeks) y finalmente llegué a una buena compañía con la que soñé de.

La respuesta depende del interés que tenga para aprenderla. Estoy totalmente de acuerdo en que cada desarrollador en un punto ha utilizado los algoritmos y la estructura de datos sabiendo o sin saberlo en sus proyectos.

Como muchas personas ya han respondido, SÍ, puedes aprender dándoles 2 o 3 horas para estudiarlo. Compartiré mi experiencia en aprenderlos, he pasado más de 2 horas porque realmente te tienta a aprender más. Es tan interesante. Mi objetivo era obtener el mayor conocimiento posible en estos. Entonces, mi experiencia fue que si realmente no le gusta una declaración del problema o no está clara, simplemente déjelo e intente con otros, luego puede resolverlos una vez que obtenga suficiente confianza y conocimiento. Porque te llevará a dejar de aprenderlo. Así que concéntrese principalmente en problemas que son fáciles.

Ir al proceso de entrevista de grandes empresas tecnológicas. Sí, piden muchos DS y algoritmos. Específicamente, la codificación en papel, por lo tanto, aprende con el estilo de codificación en papel en lugar de codificar en una computadora portátil. Esto te hará entender mejor. Y para compañías como Google, Facebook y otras grandes compañías tecnológicas, en su mayoría hacen preguntas que son más complicadas que las normales. Por lo tanto, trabaja duro y aprende con alegría. Porque es tan interesante. DISFRUTA APRENDIENDO.