Cual es la mejor manera de aprender algoritmos de grafos. ¿Entiendo el algoritmo gráfico fácilmente pero codificarlo se vuelve difícil?

Trate de codificar los algoritmos de gráficos más simples como: Búsqueda de amplitud y Búsqueda de profundidad. En el caso de BFS, DFS, las estructuras de datos requeridas son cola y pila, respectivamente, que se pueden implementar fácilmente.
Sin embargo, cuando se pasa a los algoritmos de árbol de expansión mínimo como el de las estructuras de datos mucho más complejas de Kruskal y Prim, como la cola de prioridad, se requiere (si desea minimizar la complejidad del tiempo). Por lo tanto, antes de implementar los algoritmos de árbol de expansión, le sugeriría que implementara la estructura de datos de la cola de prioridad (usando heap) en un programa separado y la probara. De esa manera, tendrá más confianza para implementar la ruta más corta de una sola fuente de Dijkstra y otros algoritmos de gráficos mucho más complejos.

Puede consultar los algoritmos dados en “Introducción a los algoritmos” -CLRS y
“Teoría de gráficos algorítmicos”: David Joyner, Minh Van Nguyen, Nathann Cohen mientras implementaban los algoritmos