En mi opinión, la mejor manera es intentar resolver el problema usted mismo primero.
Ya sea para ordenar una lista, encontrar alguna propiedad de un gráfico, estimar el área bajo una curva, o lo que sea: reúna un puñado de problemas de ejemplo donde pueda encontrar las respuestas correctas y dedique un día o dos a inventar un programa que los obtiene.
Cuando te quedes sin ideas, es hora de examinar el algoritmo del libro de texto. Una vez que se haya familiarizado con las dificultades específicas que maneja, descubrirá que ha reinventado el algoritmo usted mismo o, más probablemente, que ha pasado por alto algunos detalles que cubre.
- ¿Es seguro decir que un algoritmo iterativo es mejor que el recursivo para el mismo problema dado que ambos son de la misma complejidad temporal?
- ¿Cómo funcionan los algoritmos de alimentación de noticias?
- ¿Cuál es la solución a la siguiente relación de recurrencia: [matemáticas] T (n) = 3T (n-1) - 7T (n-2) + 9T (n-3) [/ matemáticas], con las siguientes condiciones iniciales: [ matemática] T (0) = 1 [/ matemática], [matemática] T (1) = 6 [/ matemática], [matemática] T (2) = 7 [/ matemática]. ¿Qué es una expresión para [math] T (n) [/ math] de modo que no haya términos [math] T (i (\ frac {n} {j}) ^ {k}) [/ math] a la derecha ¿lado?
- ¿Cuál es la aplicación de la vida real de las estructuras de datos de árbol?
- ¿De dónde viene el nombre perceptrón?
De cualquier manera, creo que una solución memorizada a un problema que no aprecias completamente se olvida fácilmente, pero cuando has trabajado los detalles del problema debajo de tu piel, una solución elegante se convierte en una epifanía para recordar.
Esta es una forma bastante lenta de aprender algoritmos, pero es la mejor que conozco.