Greedy Algorithms Questions
Dijkstra's algorithm is a greedy algorithm used to find the shortest path between a source vertex and all other vertices in a weighted graph. It starts by initializing the source vertex with a distance of 0 and all other vertices with a distance of infinity. Then, it iteratively selects the vertex with the minimum distance and updates the distances of its adjacent vertices if a shorter path is found. This process continues until all vertices have been visited or the destination vertex is reached. The algorithm guarantees to find the shortest path in a graph with non-negative edge weights.