Prim's algorithm is used to find the minimum spanning tree of a connected, undirected graph. It works by continuously adding edges to a growing tree that connects vertices. The algorithm maintains two lists - a closed list of vertices already included in the minimum spanning tree, and a priority queue of open vertices. It starts with a single vertex in the closed list. Then it selects the lowest cost edge that connects an open vertex to a closed one, adds it to the tree and updates the lists. This process repeats until all vertices are in the closed list and connected by edges in the minimum spanning tree. The algorithm runs in O(E log V) time when using a binary heap priority queue.
Related topics: