5. Modify the Dijkstra's algorithm to keep track of the shortest path. Design an algorithm to print the shortest path from source to given vertex.
6. Implement the Dijkstra's algorithm using (i) array, and (ii) heap.
7. Single-destination shortest problem: Design an algorithm to find the shortest path from each vertex to a given vertex.
8. Single-pair shortest path problem: Design an algorithm to find a shortest path between a given pair of vertices.