Aclaremos primero la pregunta. No hay ninguna manera fácil de llegar a ser bueno en nada, pero hay una manera eficiente de hacer todo.
¡Intentemos entender la diferencia entre fácil y eficiente aquí con la ayuda de una pregunta de programación! Consideremos el problema de «Buscar un elemento en un array ordenado».
- La persona A resuelve el problema anterior utilizando el algoritmo de Búsqueda Lineal.
- La persona B resuelve el problema anterior utilizando el algoritmo de Búsqueda Binaria.
Así, la persona A aquí resolvió el problema de una manera fácil sin embargo la persona B resolvió el problema de una manera eficiente.
Ahora, la forma eficiente de aprender Estructuras de Datos y Algoritmos depende de varios factores:
- Su conocimiento previo de lenguajes de programación y DS y Algos básicos.
- El propósito por el que quieres aprenderlo.
- Los recursos de los que dispongas.
- ¡Una guía perfecta!
Vamos a profundizar ahora en cada uno de los puntos resaltados anteriormente:
- Conocimiento previo de ED y Algo: Si ya estás bien versado en las estructuras de datos básicas como Arrays, Listas Enlazadas etc. y algunos de los algoritmos básicos como la ordenación, la búsqueda, etc., entonces comparativamente tardarás mucho menos que un completo novato, ya que conoces lo básico. Por ejemplo, si ni siquiera entiendes el ejemplo de programación mencionado al principio del artículo, entonces tienes un largo camino por recorrer.
- Propósito de aprender DS y Algo: También depende del propósito por el cual quieres mejorar tu conocimiento de las Estructuras de Datos. Algunas personas las aprenden para las entrevistas de trabajo, otras para la programación competitiva y otras para adquirir conocimientos. Si te estás preparando para una entrevista de trabajo, entonces tienes un conjunto limitado de estructuras de datos para aprender, que son las que más comúnmente se preguntan en las entrevistas, si quieres convertirte en un buen programador competitivo, entonces tendrás que centrarte en las estructuras de datos complejas como los árboles de segmentos, el árbol Fenwik, los árboles indexados binarios, etc.
- Recursos disponibles: Los recursos juegan un papel muy importante en el aprendizaje de cualquier cosa. Usted necesita un conjunto de buenos tutoriales que son lo suficientemente descriptivos para aclarar todos los conceptos desde lo básico hasta lo avanzado. También debe tener un conjunto de preguntas populares para practicar los conocimientos que ha adquirido.
- Una guía: Digamos que has averiguado todos los tres puntos anteriores. Sabes las cosas que quieres aprender, sabes el propósito para el que quieres aprender y también tienes todos los recursos y tutoriales para hacerlo. Pero sigues confundido en muchas cosas como «¿Por dónde empezar?», «¿Cómo empezar?», etc. Así que necesitas a alguien que te guíe en el proceso. Es decir, debe haber alguien que le ayude a utilizar los recursos disponibles de forma eficiente.
Solución a los problemas anteriores: En GeeksforGeeks, ya tenemos una vasta colección de tutoriales y problemas basados en Estructuras de Datos y Algoritmos escritos por algunos buenos programadores competitivos de todo el mundo. También tenemos muchos cursos pasados, en curso y próximos sobre Estructuras de Datos y Algoritmos que se pueden encontrar en GeeksforGeeks-Cursos.
Si usted se está preparando para las entrevistas, le recomendamos que vaya a través de los siguientes enlaces:
- Guía de Preparación para la Colocación
- Una Guía Paso a Paso para la Preparación de la Colocación
- Los 10 mejores algoritmos en las Preguntas de la Entrevista
- Los 10 mejores algoritmos en las Preguntas de la Entrevista | Set 2
- ¿Cómo prepararse para las principales MNCs?
- Sudo Placement
->Archivos de preparación de entrevistas
Si eres un aspirante a Programador Competitivo, visitar los siguientes enlaces es imprescindible:
- ¿Cómo empezar con la Programación Competitiva?
- ¿Cómo convertirse en un maestro de la programación competitiva?
- Una mejor manera de abordar la programación competitiva
- Consejos y trucos para programadores competitivos
- Consejos y trucos para programadores competitivos | Set 2
- Avanzado Estructuras de datos
- Los 10 mejores algoritmos y estructuras de datos para la programación competitiva
->Archivos de programación competitiva