- Tome cursos en línea en Coursera o vea videos en MIT OCW o en otro lugar. Comprende la intuición detrás de esto. Codifícalo.
- Juega con simulaciones interactivas en línea o toma un pequeño ejemplo y simúlalo a mano. Te aconsejo que hagas esto último porque te hace pensar en cada paso de la simulación.
- Cree un proyecto que requiera que aplique los conocimientos que ha aprendido. Por ejemplo, ahora estoy tratando de construir un compilador que involucre muchas estructuras de datos como la Tabla de símbolos (ADT), el Árbol de sintaxis abstracta, la Pila, la Cola, los gráficos de flujo de datos en la optimización, etc. Es muy complejo. Tratar con la traducción dirigida por AST y sintaxis también enseña la recursividad si no la ha entendido correctamente.
Elige algo más simple al principio. Si no sabe qué hacer, simplemente impleméntelos usted mismo.
- Estudie algunos textos como Introducción a los algoritmos ** dependiendo de cuánto le gusten las matemáticas. Está bien si no le gusta la parte matemática: pruebas de análisis y corrección (solo al principio). Pero a medida que avanza y se sumerge más profundo, debe conocerlos.
Recursos:
- ¿Cuál es el mejor recurso para estructuras de datos y algoritmos?
** Alguien por favor sugiera textos más simples.
- Cómo crear un sistema de clasificación que dependa de tres variables (nivel, resultado y tiempo) cuanto más altas sean las dos primeras, mejor, mientras que por un tiempo, un valor menor es mejor
- ¿Cuál es el algoritmo de programación del juego para una temporada regular de la NBA?
- ¿Qué algoritmos gráficos debe implementar un estudiante de segundo año de CS?
- ¿Deben las clases de algoritmos incluir tareas de programación?
- Cómo construir un secuenciador de ADN