¿Cuál es la mejor fuente disponible para aprender estructuras de datos y algoritmos para un principiante?

No hay una sola fuente para encontrar todo lo que desea aprender, simplemente porque DS y Algo es un tema demasiado grande. Aquí hay una lista de buenas fuentes para aprender varios aspectos de la misma.

  1. Libro Estructuras de datos y análisis de algoritmos en C” por Allen Weiss: Página en pbworks.com : Honestamente hablando, realmente no se puede encontrar nada mejor que esto en ningún lado. Lea este libro detenidamente y resuelva los ejercicios para construir una base integral en DS
  2. Programación dinámica Tutorial de TopCoder: Tutoriales de algoritmos: Fuente brillante para construir un conocimiento básico para avanzar en DP
  3. Graph Theory – Graphbook – Un libro sobre teoría algorítmica de gráficos – Google Project Hosting
  4. Geeks For Geeks: geeksforgeeks.org: Muchos problemas desafiantes sobre varios temas. Pero asegúrese de dar su mejor intento y no solo memorizar la solución.
  5. Coursera: si solo le interesa la lectura electrónica.

Hay múltiples pasos:

  1. Aprende un lenguaje de programación (de un buen libro). Si tienes prisa, elige el lenguaje C.
  2. Aprenda la estructura de datos metódicamente de cualquier buen libro (matriz, lista vinculada, pila, cola, árbol binario, gráfico, montón, etc.)
  3. Aprenda algoritmos metódicamente de cualquier buen libro (búsqueda, clasificación, recursión, codicioso, programación dinámica, seguimiento posterior, división y conquista, coincidencia de cadenas, etc.)
  4. Una vez que esté cómodo con todo el concepto anterior. Práctica – Práctica y práctica.

Lo que he visto es que los estudiantes tienden a tener prisa y se saltan los primeros tres pasos para saltar directamente al cuarto paso. Créame, los atajos van a tomar más tiempo en este caso.

Hubiera sugerido leer Cormen porque necesita saber sobre las complejidades del tiempo y el espacio antes de comenzar a aprender diferentes tipos de algoritmos.

Pero ya lo descartaste …
Asi que,
Aparte de las fuentes ya mencionadas en otras respuestas …
Aquí hay un enlace para algoritmos … Me pareció bastante interesante …
Estructuras de datos y algoritmos
Esta lista contiene una lista de las estructuras de datos y algoritmos más utilizados junto con sus tutoriales, la implementación de una manera más fácil que otros sitios web.

Además, no lea todos los algoritmos a la vez … simplemente los olvidará …
Tan pronto como aprenda un nuevo algoritmo, Google tiene algunos problemas relacionados con él.
No olvides que “La práctica hace la perfección” …

Practica en Esfera Juez en línea (SPOJ)
Y puedes participar en concursos celebrados en codechef, topcoder, etc.
Pueden mantener su práctica bajo control … 😀

PD: Deberías probar Cormen después de todo esto otra vez. Es un libro maravilloso.

Hay muchos libros en los que puede obtener una buena comprensión de varios algoritmos estándar, también conocidos como “patrones”. Pero no comenzaría por ahí. Para comprender algunos de estos patrones, deberá comprender las estructuras de datos.

Lo curioso (como lo veo) es que parece ser más “interesante” aprender algoritmos que las estructuras de datos en estos días. Pero al llegar la era de Big Data, veo que la comprensión básica de la estructura de datos es más importante. Por lo tanto, recomendaría un libro antiguo, dirigido al primer año de informática: “Algorithms + Data Structures = Programs” de Niclaus Wirth. Este libro analiza todos los tipos y estructuras de datos básicos e incluye algoritmos elementales (escritos en Pascal) para tratarlos. Mi copia del libro es de 1976, pero sigo pensando que es relevante.

Debo dar una pequeña advertencia: el libro es para principiantes, pero para principiantes que realmente quieren entender el tema, lo que significa que se necesita un poco de concentración. Si ese es tu problema, busca otro trabajo … 🙂

Para estructuras de datos y algoritmos ya he respondido. solo lee esto

¿Cuáles son las mejores fuentes en línea donde podría aprender estructuras de datos desde cero?

Esta respuesta le dará una lista de buenos recursos para aprender la estructura de datos y los algoritmos.

aparte de esto

Buenos recursos de publicaciones de blog sobre algoritmos y estructuras de datos – Codeforces

Programación competitiva

Teoría de la programación

También hay algunos buenos canales de YouTube para la estructura de datos y algotihms como

youtube: Tushar Roy – Codificación simplificada

youtube: IDeserve

youtube: saurabhschool

youtube: Gaurav Sen

¡disfrutar!………..

Puede comenzar a aprender estructuras de datos y algoritmos a través de HackerEarth: desafíos de programación y trabajos de desarrollador

Son bastante buenos en eso …

También puedes probar Aprender Algoritmos

¡Todo lo mejor!

¡Si eres principiante, deberías intentar ver los videos proporcionados en estructuras de datos por mycodeschool!

Todo lo dado aquí:
La respuesta de Ayush Jain a ¿Cómo se puede agudizar sus habilidades de resolución de problemas de programación y hacerlo más rápido cada día?

Goto geeksforgeeks.org

More Interesting

¿Qué métricas deberían usarse para crear una puntuación de confiabilidad automática para los artículos de Wikipedia?

¿Cuáles son algunos algoritmos interesantes que no tienen implementación conocida hasta la fecha?

¿Los estudiantes de pregrado de CS estadounidenses entienden todas las matemáticas en sus libros de texto conceptualmente?

¿Qué sitios web o aplicaciones usan el algoritmo de correspondencia para el cual los profesores Roth y Shapley ganaron el Premio Nobel en 2012?

Si tiene un trabajo diario bastante intenso, ¿cómo encuentra tiempo para mejorar la estructura de datos y la habilidad de los algoritmos?

Cómo aprender algoritmos anticolisión RFID

¿Cuántas estructuras de datos y algoritmos necesita el desarrollador web?

Cómo cifrar un fragmento de texto usando un algoritmo de cifrado

¿Es seguro decir que un algoritmo iterativo es mejor que el recursivo para el mismo problema dado que ambos son de la misma complejidad temporal?

En Codeforces Round # 308 (Div. 2), ¿cómo descubrieron todos la cantidad de dígitos de un número usando un algoritmo eficiente de toma de tiempo? ¿Alguien puede explicarlo?

¿Cuáles son los factores que afectan la tasa de error en el algoritmo KNN?

Cómo usar el 'mapa combinatorio' de una triangulación de un polígono 2D para probar si un borde dado de la triangulación es un borde límite

¿Es necesario codificar todos los datos en estructuras como pilas en C ++, o es un conocimiento práctico suficiente para aclarar entrevistas?

Cómo escribir una matriz para un libro de calificaciones que acepte 10 entradas y no requiera usarlas todas

Cómo elegir la estructura de datos correcta