Reverse-Delete

The Reverse-Delete algorithm is a greedy MST algorithm. It is essentially the reverse of
Kruskal's algorithm (see page for explanation of Kruskal's algorithm).
It initially sorts all the edges of the graph in descending order of their weights into an edge queue, and all edges of the graph are already in the MST. At each step, the edge at the front of the edge queue (highest weight) is popped from the edge queue. If removing this edge from the MST does not further disconnect the graph (i.e. split it into more than 1 group/component), then the edge is removed from the current MST, else the edge is discarded and we move on. This process continues until the MST has V - 1 edges, where V is the number of nodes/vertices in the graph.

Look below for an example run of the Reverse-Delete algorithm:

Minimum cost:
Edge queue: