Estudie todas las estructuras de datos comunes importantes, incluidas sus supuestas fortalezas y debilidades. Comprenda las interfaces públicas, cree sus propias implementaciones y luego estudie las versiones de otros. Después de eso, imagina diferentes escenarios y escribe mucho código usándolos. Forme opiniones sobre cuál prefiere en esas situaciones.
Esto debería darle una buena idea de la estructura de datos ‘correcta’ para alguna nueva tarea.
Según el tiempo y la paciencia, su lista de estudio de “estructuras de datos comunes importantes” podría incluir estos (y quizás mucho más):
- Soy un programador promedio, me encanta codificar en Java y estoy tratando de mejorar mis habilidades de codificación algorítmica. ¿Cómo puedo mejorarlos?
- ¿Cómo funciona el algoritmo de recomendación de películas de Netflix?
- ¿Qué algoritmos y estructuras de datos se pueden usar para encontrar anagramas?
- ¿Cuáles son las amplias variedades en programación dinámica que se preguntan con frecuencia en los concursos de codificación?
- ¿Por qué es necesario conocer la complejidad temporal de un programa?
- Matrices / Vectores
- Colas / Pilas
- Listas enlazadas individualmente / Listas enlazadas doblemente
- Árboles binarios / Árboles de búsqueda binaria
- Colas de prioridad / montones binarios
- Conjuntos de hash / Mapas de hash
- Gráficos
Estas son estructuras de datos que se enseñan en la programación de bootcamps como Coding Dojo. Hay muchos libros sobre el tema, algunos más accesibles que otros. (-: me gusta el mío.