¿Cuál es la mejor manera de estudiar la estructura de datos? ¿Hay libros?

Estructuras de datos y algoritmos” es el tema favorito de las empresas entrevistadas. Puede comenzar con la resolución de problemas en estructuras de datos y libros de algoritmos.

Los enlaces de los libros en Amazon están abajo:

1. Resolución de problemas en estructuras de datos y algoritmos utilizando C

2. Resolución de problemas en estructuras de datos y algoritmos usando C ++

3. Resolución de problemas en estructuras de datos y algoritmos utilizando Java

4. Resolución de problemas en estructuras de datos y algoritmos con C #

5. Resolución de problemas en estructuras de datos y algoritmos usando Python

“Resolución de problemas en estructuras de datos y algoritmos” es una serie de libros sobre el uso de estructuras de datos y algoritmos en la programación de computadoras. El libro es fácil de seguir y está escrito para el punto de vista de preparación de la entrevista . En varios libros, los ejemplos se resuelven en varios lenguajes como C, C ++, Java, C #, Python, VB, JavaScript y PHP.

Composición del libro
Este libro está diseñado para entrevistas, por lo que en el Capítulo 0 se proponen varios planes de preparación . Luego, en los capítulos 1, se explica una breve introducción del lenguaje de programación y el concepto de recursión. Se explican varios problemas basados ​​en recursividad y matriz.

Luego, en el próximo capítulo, analizaremos el análisis de complejidad. Luego analizaremos las técnicas de clasificación y búsqueda.

Luego estudiará las diversas estructuras de datos y sus algoritmos. Buscaremos en una lista vinculada, pila, cola, árboles, montón, tabla hash y gráficos.

Luego analizaremos el análisis de algoritmos, analizaremos algoritmos de fuerza bruta, algoritmos codiciosos, algoritmos de división y conquista, programación dinámica y retroceso.

Al final, analizaremos el diseño del sistema , que proporcionará un enfoque sistemático para resolver los problemas de diseño en una entrevista.

Tabla de contenido
Capítulo 0: Cómo usar este libro.
Capítulo 1: Introducción – Descripción general de la programación
Capítulo 2: Análisis de Algoritmos
Capítulo 3: Enfoque para resolver problemas de diseño de algoritmos
Capítulo 4: Tipo de datos abstractos
Capítulo 5: Búsqueda
Capítulo 6: Clasificación
Capítulo 7: Lista vinculada
Capítulo 8: Pila
Capítulo 9: Cola
Capítulo 10: Árbol
Capítulo 11: Cola prioritaria
Capítulo 12: Hash-Table
Capítulo 13: Gráficos
Capítulo 14: Algoritmos de cadena
Capítulo 15: Técnicas de diseño de algoritmos
Capítulo 16: Algoritmo de fuerza bruta
Capítulo 17: Algoritmo codicioso
Capítulo 18: Divide y vencerás
Capítulo 19: Programación dinámica
Capítulo 20: Retroceso
Capítulo 21: Teoría de la complejidad
Capítulo 22: Estrategia de entrevista
Capítulo 23: Diseño del sistema

Las estructuras de datos son un tema importante con el que todos los ingenieros de CS / IT deben estar familiarizados.
No sé sobre ti, pero me costó mucho entender la lista vinculada, las colas y los montones.
Entonces, solo para asegurarme de que no cometas los mismos errores que yo, aquí hay algunos puntos que podrían ayudarte.
1) Despeja tus conceptos básicos de C
Para comprender la longitud y amplitud de las estructuras de datos, debe tener una buena comprensión del lenguaje de programación C.
Especialmente la parte, que trata con matrices y estructuras. Comprenda el concepto correctamente, y no solo para aprobar los exámenes. Siente la comprensión en tu mente y ten un buen conocimiento práctico de ello.
Codifique todos los días utilizando matrices y estructuras.
Borrar los conceptos básicos de las funciones de nivel de usuario y llamar a las funciones (con y sin argumentos)
Simplemente revise el libro ANSI C de Balaguruswamy (no use LET US C) antes de recoger cualquier libro de Data Structures.
2) Comprender los conceptos.
Un libro nuevo que recoja de DS, contendría la parte de texto y la parte de código para implementarlo.
En la primera ejecución, revise los textos y comprenda los conceptos de lista vinculada, pilas y todo. NO INTENTE LEER EL CÓDIGO. Es muy probable que no lo consigas de todos modos, pero solo para asegurarte de que no se entromete con tu comprensión, omite el código por completo en la primera ejecución. Tome notas de las estructuras de datos, la lista vinculada, las pilas, las colas, los árboles (y todos sus tipos), etc.
Sé específico y al grano. Despeja bien lo básico.
3) El problema de codificación
Para mí, esta fue la parte más terrible de las estructuras de datos. Pero siempre que tenga una buena comprensión de C, sería una caminata fácil para usted. Tener un buen hábito de codificación es imprescindible para dominar DS.
Ningún libro o tutorial te ayudaría a codificar. Eso solo aumentaría la aptitud para el mismo. Para la codificación, escriba la lógica y la implementación con lápiz y papel. No se preocupe por la sintaxis y todo, ya que de todos modos lo aprendería.
La implementación de estructuras de datos como listas y pilas es realmente importante y debe hacerse a diario.
Comience con programas realmente básicos para imprimir la lista de enlaces y la adición de elementos y eliminación, luego continúe con los niveles superiores.

Libros-
Para entender el concepto, use Data Structures de Kanetkar, está en un lenguaje realmente simple y fácil de entender. NO LEA EL CÓDIGO DE ESTE LIBRO, solo conceptos para obtener conocimiento preliminar.
Para comprender el código y resolver problemas de distinto grado, utilice las estructuras de datos de Tanenbaum.
Estos 2 libros bastarían para tener una buena comprensión de DS y su implementación.
BUENA SUERTE !