0% found this document useful (0 votes)
62 views

Spanning Tree: R K Mohapatra

A spanning tree for a graph is a subgraph that is a tree and connects all the vertices. A graph can have multiple spanning trees. An unconnected graph cannot have a spanning tree. A minimum spanning tree (MST) is a spanning tree with minimum total edge weight. Algorithms like Prim's and Kruskal's can be used to find an MST. Prim's grows the tree by adding the closest vertex. Kruskal's grows forests by merging trees through the lowest weight edge between trees.

Uploaded by

Imran Wahid
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views

Spanning Tree: R K Mohapatra

A spanning tree for a graph is a subgraph that is a tree and connects all the vertices. A graph can have multiple spanning trees. An unconnected graph cannot have a spanning tree. A minimum spanning tree (MST) is a spanning tree with minimum total edge weight. Algorithms like Prim's and Kruskal's can be used to find an MST. Prim's grows the tree by adding the closest vertex. Kruskal's grows forests by merging trees through the lowest weight edge between trees.

Uploaded by

Imran Wahid
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 29

Spanning Tree

R K Mohapatra
What is A Spanning Tree?
• A spanning tree for an
undirected graph G=(V,E) is a
subgraph of G that is a tree
a
and contains all the vertices
of G
b u e

• Can a graph have more than


one spanning tree? c v f

• Can an unconnected graph d


have a spanning tree?
Minimal Spanning Tree.
• The weight of a subgraph is
the sum of the weights of it 4
a 4
edges. 9
3
b u e

• A minimum spanning tree for 14 2


a weighted graph is a 10
c v 15 f
spanning tree with minimum
weight. 3
8
d

• Can a graph have more then


one minimum spanning tree? Mst T: w( T )=  (u,v)  T w(u,v ) is minimized
Example of a Problem that
Translates into a MST
The Problem
• Several pins of an electronic circuit must be
connected using the least amount of wire.

Modeling the Problem


• The graph is a complete, undirected graph
G = ( V, E ,W ), where V is the set of pins, E is the
set of all possible interconnections between the
pairs of pins and w(e) is the length of the wire
needed to connect the pair of vertices.
• Find a minimum spanning tree.
MST Algorithms
We will show two ways to build a minimum
spanning tree.
• A MST can be grown from the current spanning
tree by adding the nearest vertex and the edge
connecting the nearest vertex to the MST. (Prim‘s
algorithm)

• A MST can be grown from a forest of spanning


trees by adding the smallest edge connecting two
spanning trees. (Kruskal's algorithm)
Notation
• Tree-vertices: in the tree constructed so far
• Non-tree vertices: rest of vertices

Prim’s Selection rule

• Select the minimum weight edge between a tree-


node and a non-tree node and add to the tree
The Prim algorithm Main Idea
Select a vertex to be a tree-node

while (there are non-tree vertices) {


if there is no edge connecting a tree node
with a non-tree node then
return “no spanning tree”

select an edge of minimum weight between a tree


node and a non-tree node

add the selected edge and its new vertex to the tree
}
return tree
5
A B
4 6 2

2 D 3
C

3 1 2
E F
4

Prim's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

A B

C D

E F

Prim's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

A B

2 D
C

E F

Prim's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

A B

2 D
C

1
E F

Prim's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

A B
2

2 D
C

3 1 2
E F

Prim's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

A B
2

2 D
C

3 1 2
E F

Prim's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

A B
2

2 D
C

3 1 2
E F

Prim's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

A B
2

2 D
C

3 1 2
E F

Prim's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

A B
2

2 D
C

3 1 2
E F

Prim's Algorithm
minimum- spanning tree

A B
2

2 D
C

3 1 2
E F

Prim's Algorithm
Kruskal‘s Algorithm

1. Each vertex is in its own cluster

2. Take the edge e with the smallest weight


- if e connects two vertices in different clusters,
then e is added to the MST and the two clusters,
which are connected by e, are merged into a
single cluster
- if e connects two vertices, which are already
in the same cluster, ignore it

3. Continue until n-1 edges were selected


Kruskal's Algorithm
5
A B
4 6 2

2 D 3
C

3 1 2
E F
4
Kruskal's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

5
A B
4 6 2

2 D 3
C

3 1 2
E F
4
Kruskal's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

5
A B
4 6 2

2 D 3
C

3 1 2
E F
4
Kruskal's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

5
A B
4 6 2

2 D 3
C

3 1 2
E F
4
Kruskal's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

5
A B
4 6 2

2 D 3
C

3 1 2
E F
4
Kruskal's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

5
A B
4 6 2

2 D 3
C

3 1 2
E F
4
Kruskal's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

5
A B
4 6 2

2 D 3
C

3 1 2
E F
4
Kruskal's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

5
A B
4 6 2

2 D 3
C

3 1 2
E F
4
Kruskal's Algorithm
A 5 B
4 6 2

C 2 D 3 Can’t be chosen next


(B & F are in same cluster)
3 1 2
E F
4

5
A B
4 6 2

2 D 3
C

3 1 2
E F
4
Kruskal's Algorithm
A 5 B
4 6 2

C 2 D 3

3 1 2
E F
4

5
A B
4 6 2

2 D 3
C

3 1 2
E F
4
Kruskal's Algorithm
minimum- spanning tree

A B
2

2 D
C

3 1 2
E F

Kruskal's Algorithm

You might also like