¿Cuáles son los recursos disponibles en línea para aprender estructuras de datos y algoritmos? ¿Cómo avanzar con el aprendizaje de DSA?

Estructuras de datos y algoritmos (DSA para abreviar) es un curso basado en la implementación. Muchas empresas hacen mucho hincapié en los conceptos de este curso en sus entrevistas. Para dominar este curso, debe ser fuerte con la teoría y la implementación de varias estructuras de datos y algoritmos.

Entonces, ¿cómo mejorar en esto?

Dominar estas cosas requiere dos cosas: comprensión e implementación . Aquí hay algunos pasos a seguir.

  • Verá que leer sobre algoritmos y estructuras de datos es algo así como la oferta y la demanda . Cuantos más problemas hagas, más algoritmos deberás estudiar.
  • No hay necesidad de implementar de inmediato. Asegúrese de comprender los detalles de las estructuras de datos / algoritmo, de modo que si hay un pequeño giro en un problema, podrá recogerlo inmediatamente y saber dónde cambiar su código en su estructura de datos o algoritmo. Recomendaría escribir los pasos en un pedazo de papel y ser la computadora y hacer cada paso del algoritmo o cada parte de la estructura de datos a mano .
  • Algunos tutoriales sobre estructuras de datos de los que puedes aprender.
    • Tutoriales de ciencia de datos (pseudo-código)
    • Estructuras de datos y algoritmos (enlace anterior)
    • Code Monk – Sea un mejor programador o Notes en HackerEarth (en muchos idiomas diferentes)

No te detengas incluso si te quedas atascado. Obtenga ayuda de inmediato. Realice una o varias de las siguientes acciones : intente encontrar las soluciones de otras personas o lea el editorial. Consigue la idea principal de la solución. Ahora CIERRE la solución e implementa tu sin volver a leer la solución . Esto es muy importante, para que el algoritmo / solución se hunda en su cabeza. Por eso te di algunos sitios web para usar arriba. Tienen editoriales, lo que ayuda mucho. Todos los problemas de codificación tienen patrones. Siempre verás problemas similares todo el tiempo. Por lo tanto, las estrategias y los algoritmos que utilizaste también pasarán por alto. Recuerde las palabras clave que golpean un algoritmo. Esto jugará un papel importante en su éxito como codificador competitivo.

Llegando a los recursos sobre aprendizaje de ESTRUCTURA DE DATOS Y ALGORITMOS:

  1. Aprenda estructuras de datos y algoritmos: tutoriales de las mejores estructuras de datos y algoritmos | Hackr.io Este es el enlace maestro para darle acceso a todos los recursos útiles disponibles en línea para comenzar su aprendizaje.
  2. http://www.codechef.com/
  3. https://www.hackerrank.com
  4. http://www.topcoder.com/
  5. http://www.spoj.com/
  6. Introducción a los algoritmos: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: 9780262033848: Amazon.com: Libros
  7. Introducción a los algoritmos.

Shubhi Agarwal gracias por A2A!

Los primeros meses de aprendizaje de DSA serán difíciles, si no está familiarizado con el tema, como fue mi caso. Recomendaré primero borrar la parte teórica de las conferencias y luego implementarlas. ¡Los punteros y la lista enlazada fueron mis pesadillas! Yo tampoco asistí a las conferencias. Soy autodidacta en estas áreas. Así que tengo una gran cantidad de sitios web, tutoriales listados donde aprendí.

DSA es la base para cualquier estudiante de computación!

Solo aprende e implementa y sigue practicando!

Recursos en línea:_

  1. GeeksforGeeks | Un portal informático para geeks.
  2. NPTEL :: Ciencias de la computación e ingeniería: la mejor fuente que recomendaré para las conferencias en línea ¡¡¡bu IIT profs !!
  3. Estructuras de datos de Seymour Lipchutz (PDF disponible en línea, no se puede publicar el enlace aquí debido a las “Directrices de Quora” 🙁).
  4. Tushar Roy – Coding Made Simple – Este canal de Tushar Roy. Muy buenas conferencias!
  5. Udacity – Clases gratis en línea y Nanodegrees

¡Yo digo que Internet tiene innumerables recursos, pero los mencionados anteriormente son los mejores que he encontrado! También puede haber otros sitios web (tutoriales, etc.), pero diré que, por favor, no los visite. Estas 5 fuentes serían las adecuadas para aprender. Al final del día, codificarlos e implementarlos es lo que importa.

¡¡Buena suerte!!

🙂

Hay muchos recursos disponibles para aprender la estructura de datos y los algoritmos en línea, algunos de ellos son

1.Udacity – Clases en línea gratuitas y Nanodegrees: uno podría inscribirse en cursos gratuitos como Estructura de datos, Algoritmos y obtener la comprensión simple y fácil incluso de temas difíciles, lo he intentado.

2.NPTEL: contiene cursos gratuitos, incluso los temas como Inteligencia Artificial y Aprendizaje Automático uno puede inscribirse en https: //onlinecourses.nptel.ac.i … o pagar una pequeña cantidad de certificación para el certificado, hay un montón de estructura de datos y cursos de algoritmos disponibles

3.GeeksforGeeks | Un portal informático para geeks: también es un sitio muy reputado que contiene una amplia colección de algoritmos y estructura de datos que es común entre los programadores.

4.Coursera | Cursos online de las mejores universidades. Únase gratis: también contiene una docena de algoritmos y cursos relacionados con la estructura de datos

Algunos otros son: –

5: Concurso de programación, Concurso de programación, Programación de computadoras en línea

6.Tutorial de estructura de datos y algoritmos (DSA)

En primer lugar, uno debe apostar por que las estructuras de datos lo entiendan, luego deben aprender y practicar algoritmos simples, y luego avanzar en los temas en los que HackerRank podría ser útil.

A2A Shubhi Agarwal

Hola,

  • Las estructuras de datos y los algoritmos son obligatorios si realmente quieres ser un buen programador.
  • Tómese su tiempo para comprender y aprender las estructuras de datos correctamente, ya que forma los bloques de construcción de la informática.
  • Lea un buen libro sobre DSA como Fundamentals of Computer Algorithms (segunda edición) por Horowitz y Sahani , Estructura de datos a través de C por Sartaj Sahani.
  • Luego continúe con sitios web como Hackerearth y GeeksforGeeks .
  • Práctica. Práctica práctica.
  • Si te quedas atascado en un problema, consulta la sección de discusión y ve la opinión de otros programadores y pruébalo por tu cuenta. NO COPIES.
  • Prueba también StackOverflow y cplusplus.com . Léelo al menos una vez.
  • thenewboston y mycodeschool Tiene una buena colección de videos en DSA que son fáciles de entender.
  • Si lo desea, también puede probar las conferencias MIT en DSA. Están fácilmente disponibles en línea, debe buscarlas en Google: p
  • Hackerrank, Hackerrearth, Codechef, topcoder, etc. son algunos de los sitios web donde puede practicar.
  • Trate de visualizar la estructura de datos y los problemas en cierta medida.

Resuelva su problema primero en un papel y luego en una computadora. (Invierte tu tiempo más en entender el problema)

También soy un principiante en programación como tú, así que si sabes algo nuevo e interesante, házmelo saber.

Feliz codificacion !! 🙂

Hay muchos buenos recursos para aprender la estructura de datos y el algoritmo y algunos de ellos son:

Etapa 1: domina un lenguaje de programación para que implementes lo que aprendes.

Etapa 2 :

  1. Comience con esto: Estructuras de datos – YouTube By mycodeschool.
  2. Estructuras de datos | HackerEarth: Aprende y practica más.
  3. Algoritmos | HackerEarth: El mejor lugar para la práctica.
  4. Estructura de datos y algoritmo: Bjarki Ágúst Guðmundsson – ¡Bienvenido a mi sitio web sobre algoritmos, matemáticas y programación!
  5. Practica Más: Kattis
  6. Libros para estructura de datos: estructura de datos – Google Drive
  7. Books For Algorithms: Algorithms – Google Drive
  8. Material para programación deportiva: programación competitiva – Google Drive

Le sugiero que comience con problemas fáciles en los sitios de codificación competitivos. Tomará más tiempo que aprender los algoritmos en sí, pero empezará a comprender dónde se usan estos algoritmos y, una vez que implemente un algoritmo, comenzará a entenderlo profundamente. Junto con la resolución, puede leer sobre los algoritmos utilizados para resolver un problema.

Otra sugerencia es usar sitios como http://geeksforgeeks.org, ya que tienen una buena colección de problemas y soluciones.