Dijkstra's algorithm finds the shortest paths from a single source vertex to all other vertices in a weighted graph. It uses a priority queue to iteratively select the vertex with the smallest estimated distance from the source. Each vertex is "relaxed" by examining its neighboring edges to find new shortest paths. When a vertex is removed from the queue, its distance estimate is guaranteed to be the true shortest path length. The algorithm runs in O(ElogV) time, where E is the number of edges and V is the number of vertices.