Me encontré por primera vez con el algoritmo de Dijkstra en mis cursos de pregrado cuando tenía 20 años en el año 2000. Fue a través de un libro de texto muy difícil de leer. Era casi imposible entender la lógica de relajación del borde.
Tradicionalmente, el conocimiento ha sido protegido por un grupo de élite y lo hicieron muy difícil de entender para la gente común. Los autores se aseguran de que no haya suficiente ilustración para las ecuaciones matemáticas o que esperen que sus lectores tengan un alto nivel de experiencia en matemáticas y / u otros dominios adyacentes. Hay muchos algoritmos que nunca hubiera entendido si simplemente mirara sus modelos matemáticos como se describe en los libros de texto. Lo mismo ocurre con el algoritmo de Dijkstra.
Pero hoy vivimos en un mundo diferente. Desearía tener todos los recursos disponibles en aquellos días. Puede ir a sitios web como Khan Academy o ver videos en YouTube donde las personas ofrecen una ilustración gráfica muy agradable y fácil de entender del algoritmo en acción. Esto hace que el conocimiento esté al alcance de la gente común.
- ¿Hay un paquete de Python que calcule la complejidad del tiempo?
- ¿Cuál es el algoritmo más poderoso en el mundo de las aplicaciones?
- Cómo resolver CCC2016S4
- ¿Cómo es codicioso el algoritmo de Kruskal?
- Trabajo muy duro para estudiar 13 horas al día durante más de 7 meses, pero todavía no puedo mejorar mi estructura de datos y habilidades de algoritmos, ¿qué debo hacer?
Recuerdo una cita a la que Einstein hizo referencia en su libro “Un supuesto descubrimiento científico no tiene mérito a menos que pueda explicarse a una camarera”. (La cita se atribuye popularmente a Lord Rutherford de Nelson)
Finalmente para responder a su pregunta, está perfectamente bien no entender el algoritmo de Dijkstra la primera vez. Puede llevarme hasta 30 minutos escribir el software correcto para el algoritmo Dijsktra’a incluso hoy, por lo que no es un problema muy trivial. Puedes ver videos de YouTube o tutoriales de la Academia Khan y una vez que entiendes puedes leer tu libro de texto original nuevamente y esta vez la web es mucho mejor.
Punto de bonificación: pruebe el algoritmo de Dijkstra con pesos negativos.