I implemented a C# Dijkstra with Fibonacci Heap using based on SO question and this version in Java, which is very clean, concise and well documented.
I modified the DirectedGraph to make it an undirected graph.
However, I have 2 questions regarding the search algorithm itself:
The current method has 2 parameters (graph & source). If I add a third parameter (target), what are the changes necessary in the search algorithm itself so that it only searches from source to target instead of all-pairs shortest paths?
The function returns a list of distances. What do I need to change to make it return the shortest path?