I was trying to understand this implementation in C of the Dijkstra algorithm and at the same time modify it so that only the shortest path between 2 specific nodes (source
The biggest improvement you can make over Dijkstra is using A* instead. Of course, this requires that you have a heuristic function.