Para alcanzar mi meta SMART de dominar estructuras de datos y algoritmos básicos en tres meses, he dividido mi aprendizaje en bloques semanales y definido qué espero lograr en cada nivel:
En la primera semana, mi objetivo es comprender y manipular arrays. Espero ser capaz de resolver problemas básicos relacionados con arrays y recordar cómo funcionan los índices y los métodos esenciales, como insertar y eliminar elementos.
En la segunda semana, trabajaré en listas enlazadas. Planeo implementar listas simples en código y entender la diferencia entre listas simples y dobles. Este conocimiento será clave para avanzar a estructuras más complejas.
En la tercera semana, estudiaré pilas y colas. Mi objetivo será resolver problemas prácticos simples utilizando estas estructuras (LIFO y FIFO) y memorizar ejemplos cotidianos donde se aplican.
En la cuarta semana, consolidaré lo aprendido hasta ahora. Practicaré resolver problemas que combinen arrays, pilas y colas, asegurándome de entender patrones comunes de uso.
En las siguientes semanas, profundizaré en estructuras más avanzadas. Por ejemplo, en la quinta semana, comenzaré con árboles binarios, aprendiendo a implementar búsquedas simples y a entender cómo funcionan. En la sexta semana, abordaré grafos, buscando entender conceptos como nodos y aristas mientras resuelvo problemas básicos.
Entre las semanas siete y ocho, trabajaré en algoritmos de búsqueda y ordenación. Espero ser capaz de implementar búsquedas lineal y binaria, además de algoritmos de ordenación como quicksort y mergesort, mientras memorizo la lógica detrás de ellos.
Finalmente, en las últimas semanas, mi objetivo será resolver problemas combinados que integren todas las estructuras y algoritmos estudiados, aplicándolos en un proyecto final. Este proyecto será una oportunidad para consolidar los conocimientos y usarlos en un caso práctico.
Mi plan incluye una revisión semanal para evaluar mi progreso y realizar ajustes si es necesario.