Cómo entender cómo funcionan los algoritmos

Por lo general, sugiero dos formas: la primera es mejor (pero más desafiante) que la segunda (arrojó una tercera, que también es bastante común):

  1. La mejor manera de entender cómo funciona un algoritmo es mirar su prueba de corrección y estudiar el problema que usamos para resolverlo. Si no comprende el problema, el algoritmo generalmente no tendrá mucho sentido. Una prueba de corrección le dice exactamente por qué funciona el algoritmo y le proporciona las agallas teóricas del algoritmo. Hace que el algoritmo sea más fácil de entender una vez que te has convencido de la prueba matemática. Esa es fácilmente la forma más valiosa de comprender mejor un algoritmo. Dependiendo del algoritmo, esto puede ser un desafío, pero se lo agradecerá más adelante porque puede obtener una mejor intuición de por qué funcionan y cómo otros algoritmos pueden tomar algunas ideas clave de una que pueda estar viendo. Esto requiere cero programación para hacer generalmente.
  2. Prueba algunos ejemplos . Dibujarlo en papel con una entrada. Elija una entrada que haga que necesite realizar todo el algoritmo. Trabaja en ello paso a paso. Por ejemplo, si tiene un bucle principal, realice cada iteración del bucle principal.
  3. Sé que mencionas tu habilidad de programación, pero una cosa que es muy común entre los estudiantes es implementar el algoritmo en un lenguaje de programación. Algunos consideran que esto es valioso, ya que ensucia sus manos para comprender cómo traducir el algoritmo en código para su implementación.

Es común hacer (2) antes (1) para tener una idea de cómo funciona el algoritmo.

¡Espero que esto ayude!

Responder esta pregunta (o al menos encontrar una respuesta adecuada y satisfactoria) es aún más difícil que comprender los algoritmos de los que está hablando.

Por lo tanto, sugeriré, para cada algoritmo, crear un ejemplo en papel e intentar revisar el código del algoritmo usando ese ejemplo en particular. Luego debe probar otros ejemplos para asegurarse de tener la idea del algoritmo. De esa manera no necesitas escribir ningún código. Simplemente está resolviendo un ejemplo con aportes específicos y en papel.

Así es como llegué a entender los algoritmos al principio. Su próximo paso es escribir el código en un IDE (si eso es posible) y ejecutar un ejemplo, y poner varios puntos de interrupción para comprender el flujo del código y cómo están cambiando los valores en función de varios casos, situaciones y condiciones.

Si lo que quieres decir es entender los algoritmos que normalmente se enseñan en el curso de CS.

  1. Lea y comprenda “Introducción a los algoritmos por CLRS”, las cosas no saldrán mal si puede comprender y realmente puede implementarlo en su lenguaje de programación favorito. Incluso es aplicable a estudiantes no informáticos.
  2. Práctica práctica práctica

Bueno, veo dos opciones posibles:

  1. Encuentre una implementación y revise el código. Sígalo paso a paso y rastree lo que hace. Esto explicará ese algoritmo particular.
  2. Obtenga un libro / busque en línea. Hay muchos libros de referencia excelentes sobre algoritmos. Algunos se consideran lectura y rango estándar en los miles de páginas. Yo personalmente uso el Manual de diseño de algoritmos como referencia. No cubre todo, pero el autor proporciona suficiente información y ejemplos de código para mostrarle cómo funcionan algunos de los algoritmos más estándar. Además, tiene pequeñas historias de uso que hacen obvio por qué una cosa es mejor que otra.