¿Cuál es la forma más efectiva de aprender algoritmos?

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.

  1. Comencé con matemáticas discretas .
  2. Me inscribí en cursos de algoritmos y estructuras de datos en línea en Coursera . Logré completar algunos de ellos.
  3. Programación competitiva . Aprendí a aplicar las cosas que aprendí. Fue divertido. Me interesé y aprendí algunos temas más.
  4. 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.
  5. 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.

  1. Respuesta del usuario de Quora a ¿Cómo empiezo a aprender o fortalecer mi conocimiento de estructuras de datos y algoritmos?
  2. Respuesta del usuario de Quora a ¿Cuál es la forma y secuencia correcta de aprendizaje y dominio de estructuras de datos y algoritmos?
  3. Respuesta del usuario de Quora a ¿Cuál es el mejor recurso para estructuras de datos y algoritmos?

“Un algoritmo” es “una forma de hacer algo”. Si te refieres a algoritmos de software, mejora con la programación. Un algoritmo de software es solo una pieza de software.

Si se refiere a algoritmos para otras cosas que no sean computadoras, especifique. (Pero si está preguntando cómo alguien que no puede desarrollar programas puede desarrollar programas, respondió su propia pregunta: o aprende a desarrollar programas o no los desarrolla).

More Interesting

¿Puedo obtener el algoritmo para un enfoque iterativo en una búsqueda binaria de doble pivote?

¿Qué debe saber todo programador sobre tablas hash y funciones hash?

¿Alguien podría explicar la respuesta a este problema de mecánica?

Rendimiento del software: ¿los algoritmos de cálculo se ejecutarán más rápido cuando se implementen en Node.js en lugar de C?

¿Cómo funciona el algoritmo de Warnsdorff?

¿Cómo debería uno prepararse para los problemas en los árboles en la programación competitiva?

¿Cuál es la mejor manera de aprender la estructura de datos y el algoritmo para un programador promedio?

Cómo encontrar diferentes permutaciones de pila

Entiendo los conceptos básicos de Java y puedo codificarlo fácilmente, pero no puedo codificar casos complejos. ¿Qué puedo hacer para mejorar mis habilidades de codificación?

Cómo revertir un número promedio de números sin los números

¿Es la incapacidad de implementar estructuras de datos básicas como una lista doblemente enlazada, un árbol con punteros primarios usando un código seguro la mayor debilidad de Rust?

¿Cuáles son algunos algoritmos de flujo de red interesantes?

¿Es cierto que no debería importarme tanto aprender lenguajes de programación sino construir una gran base de estructuras de datos y algoritmos?

¿Qué es el "peso" en el algoritmo de Facebook?

Ahora que los bitcoins son famosos y caros, ¿cómo reaccionaría el mercado ante un clon de Bitcoin que utiliza un algoritmo, tecnología, etc. idénticos?