Minimum Spanning Tree (MST) problem: Given connected graph G with positive edge weights, find a min weight set of edges that connects all of the vertices.

MST is fundamental problem with diverse applications.

**Network design.**

*– telephone, electrical, hydraulic, TV cable, computer, road*

The standard application is to a problem like phone network design. You have a business with several offices; you want to lease phone lines to connect them up with each other; and the phone company charges different amounts of money to connect different pairs of cities. You want a set of lines that connects all your offices with a minimum total cost. It should be a spanning tree, since if a network isn’t a tree you can always remove some edges and save money.

**Approximation algorithms for NP-hard problems.**

*– traveling salesperson problem, Steiner tree*

A less obvious application is that the minimum spanning tree can be used to approximately solve the traveling salesman problem. A convenient formal way of defining this problem is to find the shortest path that visits each point at least once.

Note that if you have a path visiting all points exactly once, it’s a special kind of tree. For instance in the example above, twelve of sixteen spanning trees are actually paths. If you have a path visiting some vertices more than once, you can always drop some edges to get a tree. So in general the MST weight is less than the TSP weight, because it’s a minimization over a strictly larger set.

On the other hand, if you draw a path tracing around the minimum spanning tree, you trace each edge twice and visit all points, so the TSP weight is less than twice the MST weight. Therefore this tour is within a factor of two of optimal.

**Indirect applications.**

– max bottleneck paths

– LDPC codes for error correction

– image registration with Renyi entropy

– learning salient features for real-time face verification

– reducing data storage in sequencing amino acids in a protein

– model locality of particle interactions in turbulent fluid flows

– autoconfig protocol for Ethernet bridging to avoid cycles in a network

**Cluster analysis**

k clustering problem can be viewed as finding an MST and deleting the k-1 most

expensive edges.

**Sources:**

http://www.cs.princeton.edu/courses/archive/spr07/cos226/lectures/mst.pdf

http://www.ics.uci.edu/~eppstein/161/960206.html

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.

## Recommended Posts:

- Problem Solving for Minimum Spanning Trees (Kruskal’s and Prim’s)
- Boruvka's algorithm for Minimum Spanning Tree
- Kruskal's Minimum Spanning Tree using STL in C++
- Reverse Delete Algorithm for Minimum Spanning Tree
- Minimum spanning tree cost of given Graphs
- Find the weight of the minimum spanning tree
- Find the minimum spanning tree with alternating colored edges
- Minimum Spanning Tree using Priority Queue and Array List
- Minimum Bottleneck Spanning Tree(MBST)
- Kruskal’s Minimum Spanning Tree Algorithm | Greedy Algo-2
- Prim’s Minimum Spanning Tree (MST) | Greedy Algo-5
- Minimum Product Spanning Tree
- Types of Spanning Tree Protocol (STP)
- Maximum Possible Edge Disjoint Spanning Tree From a Complete Graph
- Spanning Tree With Maximum Degree (Using Kruskal's Algorithm)
- Total number of Spanning Trees in a Graph
- Total number of Spanning trees in a Cycle Graph
- Number of spanning trees of a weighted complete Graph
- Applications of tree data structure
- Karger’s algorithm for Minimum Cut | Set 2 (Analysis and Applications)