Use Dijkstra's algorithm to solve the shortest path problem for the following graph: Find the shortest path from vertex a to each vertex; whenever there is a choice of vertices, always use alphabetic ordering (e.g., start from vertex a). Draw a table showing the intermediate distance values of all the vertices at each iteration of the algorithm.
Figure 1: Directed graph G
b) There is an undirected graph G = (V,E) with positive edge weights and positive vertex weights: In this case, we can redefine a path with the minimum sum of passed edge weights and passed vertex weights as the shortest path. Design the algorithm to find the shortest path from vertex to vertex t for given vertices and prove the correctness and derive the time complexity of your algorithm. Your algorithm should run in time O(ivi).