Cómo aprender estructuras de datos y algoritmos de manera efectiva para que pueda ser mejor en la programación competitiva a nivel principiante

Las estructuras de datos y los algoritmos son los componentes básicos de la carrera de un graduado de informática.

Para el nivel de principiante, las estructuras de datos que debe conocer son:

  1. Arreglos La estructura de datos más simple y le ayudará a resolver el 90% de las preguntas a menos que la complejidad del tiempo sea una limitación importante.
  2. Lista enlazada. Las operaciones son más rápidas que las de las matrices.
  3. Pilas
  4. Colas
  5. Árboles binarios Recorrido más rápido.
  6. Montón.
  7. Mapa hash

Para los algoritmos, le sugeriré que cubra todas las áreas y no se concentre en sus productos relacionados con la competencia. Los algoritmos son esenciales para un buen programador y el conocimiento nunca se desperdicia.

Clasificación:

  1. Ordenamiento de burbuja
  2. Selección Ordenar. Si bien estos dos algoritmos de clasificación son tradicionales y requieren más tiempo, también son fáciles de implementar.
  3. Ordenación rápida. Si la complejidad del espacio es una restricción.
  4. Ordenar por fusión. Si la complejidad del espacio no es un problema.

Buscando:

  1. Búsqueda lineal La más fácil, pero no lo hagas durante la codificación competitiva.
  2. Búsqueda binaria. Ve por este en su lugar.
  3. Búsqueda de interpolación. Mejora adicional en el algoritmo de búsqueda binaria.

Árboles de expansión:

  1. Algoritmo de Djikstra.
  2. Algoritmo de Prim.
  3. El algoritmo de Kruskal.
  4. Bellman Ford.
  5. Floyd Warshall.
  6. Problema de vendedor ambulante.
  7. Max Flow Min Cut.

En cuanto a cómo practicar, la mejor manera de practicar es escribir en un trozo de papel con un bolígrafo. Comprende la lógica primero. Geeks for Geeks y Tutorials Point son dos sitios web muy buenos tanto para DS como para Algoritmos. También puedes practicar desde IndiaBix . Tiene MCQ que puedes practicar. Fortalece tu base. También puedes encontrar video conferencias útiles en YouTube. Aprende el mecanismo de trabajo. Pruebe primero con lápiz y papel. Luego escríbelo en una computadora. De esta manera lo recordarás mejor.

Primero, debe crear una base de programación para aprender e implementar varias estructuras de datos y algoritmos. En mi opinión, C o C ++ podrían ser una plataforma adecuada, ya que estos lenguajes ofrecen flexibilidad y acceso suficiente a nivel de máquina para tener un buen sentido de codificación.

Para comprender los algoritmos o las estructuras de datos, es necesario el conocimiento en matemáticas. En particular, necesitará combinatoria, recurrencia, función generadora, inducción matemática y anotaciones asintomáticas para analizar los algoritmos.

Por último, una exposición a la codificación competitiva es necesaria para reunir experiencias. CodeChef es una buena plataforma de hecho.

Algunos libros útiles para aprender estructuras de datos están escritos por Tannenbaum, Horowitz y Sahani, etc.

El libro de Coreman es un buen libro para algoritmos.

Y no te olvides de los recursos electrónicos 😉

Puede aprender estructuras de datos y algoritmos a través de algunos cursos en línea, le sugeriré los mejores cursos en línea.

Los mejores cursos en línea de estructuras de datos y algoritmos:

  • Aprendizaje de estructuras de datos y algoritmos
  • Estructuras de datos prácticas y algoritmos en Java + HW
  • Algoritmos y estructuras de datos en Python

es mejor elegir el primer curso en línea …

de este curso puedes aprender sobre:

Comenzará aprendiendo sobre la teoría de la complejidad, luego comenzará a aprender sobre algoritmos numéricos, que incluyen matrices aleatorias, factorización prima e integración numérica. A partir de ahí, Rod le enseñará sobre listas enlazadas, como listas enlazadas individualmente, ordenadas y listas doblemente enlazadas. Este video tutorial también cubre matrices, pilas y colas, y ordenación. También aprenderá sobre la búsqueda, tablas hash, recursión y algoritmos de retroceso. Finalmente, cubrirá árboles, árboles balanceados, árboles de decisión y algoritmos de red.

Una vez que haya completado este curso de capacitación basado en computadora, será capaz de analizar e implementar algoritmos, así como también podrá seleccionar el mejor algoritmo para diversas situaciones. Se incluyen archivos de trabajo, lo que le permite seguir junto con el autor a lo largo de las lecciones.

y también..

  • Aprenda a analizar e implementar algoritmos comunes
  • Aprenda sobre los diferentes tipos de estructuras de datos
  • Teoría de la complejidad

libros de texto sugeridos:

  • El manual de diseño de algoritmos de Steven S Skiena
  • Estructuras de datos y algoritmos simplificados: estructuras de datos y acertijos algorítmicos, por Narasimha Karumanchi

siguiendo estos cursos y libros de texto, puede aprender estructuras de datos y algoritmos de manera efectiva …

TODO LO MEJOR…

Creo que escribir sobre este punto no será suficiente. Solo practique no otras opciones. La programación requiere mucha práctica.

Hay un enlace para comenzar con DS y algoritmos que será más útil para todos los aspirantes.

Comenzando con el deporte de la programación

Espero que sea de ayuda.

Aprende de manera eficiente eh! No hay trucos, solo necesita aprender cómo funciona el algoritmo y resolver tantos problemas como pueda. Lo que podemos sugerirle es dónde aprender los algoritmos y dónde resolver los problemas. Hay suficientes preguntas sobre eso y suficientes respuestas aquí sobre quora.

¡Feliz codificación!