Soy un estudiante no CS. No puedo afirmar que la técnica sea la más efectiva. Pero funcionó para mí. Supongo que sabes un lenguaje de programación. Si no lo hace, puede comenzar con Python. Es fácil de recoger. Esto es lo que hice.
- Comencé con matemáticas discretas .
- Me inscribí en cursos de algoritmos y estructuras de datos en línea en Coursera . Logré completar algunos de ellos.
- Programación competitiva . Aprendí a aplicar las cosas que aprendí. Fue divertido. Me interesé y aprendí algunos temas más.
- Visualización , printf, simulación a mano. Después de aprender un concepto, intenté implementarlo en C ++. No pude hacerlo bien la mayoría de las veces y utilicé la técnica de depuración printf. Incluso simulé la combinación de clasificación a mano al principio. Así entendí la recursividad. Luego encontré un sitio que muestra simulaciones.
- Para las pruebas matemáticas utilicé ” Introducción a los algoritmos “, que es famoso como CLRS .
He escrito muchas respuestas sobre este tema. Puede que también te interesen estas respuestas. Para los recursos mira el último.
- Respuesta del usuario de Quora a ¿Cómo empiezo a aprender o fortalecer mi conocimiento de estructuras de datos y algoritmos?
- Respuesta del usuario de Quora a ¿Cuál es la forma y secuencia correcta de aprendizaje y dominio de estructuras de datos y algoritmos?
- Respuesta del usuario de Quora a ¿Cuál es el mejor recurso para estructuras de datos y algoritmos?
- ¿Cuál es el papel del algoritmo simétrico en el protocolo de enlace SSL?
- ¿El uso de una función recursiva en el código aumenta mucho el tiempo de ejecución?
- ¿Cuál es la diferencia entre un algoritmo y una fórmula?
- ¿Qué algoritmos se usan para calcular logaritmos?
- ¿Por qué char array proporciona String cuando se imprime en el método System.out.println ()?