SlideShare a Scribd company logo
Lecture 12 Minimum Spanning Tree
Motivating Example: Point to Multipoint Communication Single source, Multiple Destinations Broadcast All nodes in the network are destinations Multicast Some nodes in the network are destinations Only one copy of the information travels along common edges Message replication along forking points only. 1 2
Spanning Tree We consider undirected graphs here. A tree is a connected graph without a cycle  A spanning tree is a tree which has all vertices of the graph There may be multiple spanning trees We need to choose the minimum weight tree for broadcast.
Blue edge spanning tree is the minimum weight spanning tree 5 4 4 5
Properties of a Tree A tree of V vertices has V-1 edges There exists a unique path between any two vertices of a  tree. Adding any edge to a tree creates a unique cycle. Breaking any edge on this cycle restores a tree.
Minimum Spanning Tree Construction We maintain a set of edges A, which is initially empty. Edges are added to A one at a time such that finally A becomes a minimum spanning tree. Edges are never removed from A. So ``safe’’ edges must be added to A, i.e., at any stage A must be a part of a spanning tree.
Safe Edge Addition Consider a cut in  a graph (a cut consists of 2 sets which partition the vertex set). A cut respects a set of edges I if no edge in the set crosses the cut. A minimum  weight edge crossing a cut is denoted  a light weight edge in the cut {A,B,C}  {D,E,F} constitute a cut. Let I = {edge AB, edge EF}.Cut {A,B,C}, {D,E,F} respects set I Edge CD is a light weight edge in the example cut. A B C D E F 2 1 3 1
Let A be a subset of a MST (minimum weight spanning tree). Let (S, V – S) be any cut that respects A Let edge (u, v) be a light edge crossing the cut Then A    (u, v) is subset of a MST
Assume that all the edge weights are distinct. Let no MST containing A contain edge (u, v). Add the edge (u, v) to T Consider a MST T containing A Since (u, v) is not in T,  T    (u, v)  contains a cycle, and (u, v) is in the cycle. Edge (u, v) are in the opposite sides of the cut. Since any cycle must cross the cut even number of times, there exists at least one other edge (x, y) crossing the cut.  Clearly, w(x, y)  > w(u, v).
The edge (x, y) is not in A because (x, y) crosses the cut, and the cut respects A.  Removing (x, y) from the cycle, breaks the cycle and hence creates a spanning tree, T’, s.t. T’ = T    (u, v)  – (x, y) w(T’) = w(T) + w(u, v) – w(x, y)    w(T)  (as w(u, v)  < w(x, y)) This contradicts the fact that T is a MST.
So we always find a cut that respects A, And add a light edge across the cut to A. Kruskals and Prims algorithms find the cut differently.
Kruskals Algorithm  A =   For each vertex u in V,  Create_Set(u) Sort E in increasing order by weight w For each edge (u,v) in the sorted list If Set(u)  = Set(v) Add (u,v) to A Union Set(u) and Set(v) Return A;
Complexity Analysis The operations create set, testing whether set(u) == set(v), union operations can be done in log V operations, using Union find data structure. Step 1 can be done in Vlog V Step 2 can be done in Elog E Step 3 can be done in Elog V Overall complexity is O(Vlog V + Elog E + Elog V) or O((V + E)log V)
5 1 0 2 2 8 5 7 5 1 0 2 2 8 5 7 5 1 0 2 2 8 5 7 5 1 0 2 2 8 5 7 5 1 0 2 2 8 5 7
Prims Algorithm Maintains a set of vertices S already in the spanning tree. Initially, S consists of one vertex r, selected arbitrarily. For every vertex u in V – S, maintain the weight of the lightest edge between u and any vertex in S. If there is no edge between u and S, then this weight associated with u is infinity.
Add the vertex with the least weight to S. This is in effect adding the light weight edge crossing the cut S and V-S. Whenever a vertex is added to S, the weights of all its neighbors are reduced, if necessary.
Pseudo-Code For each u in V, key[u] =   S =   Pred[r] = NULL Key[r] = 0 While V   = S u = Extract_Min(V-S) For each (v in Adj(u)) if (v not in S) key(v) = min(w(u, v), key(v)) and pred(v) = u  Add u in S
For each v in Adj[u]…. can be done in E complexity  Rest of the loop can be done in V 2  complexity So, overall O(V 2 ) Using heaps we can solve in O((V + E)logV)
Example 0 s 7 5 7 2 1 8 5 3 2 5 3 1 s 0 2 8 5 7 2 8 5 s 0 7 3 1 5 2 3 5 8 0 3 2 5 s 7 2 1 8 5 5 3 1 8 5 s 0 7 2 3 1 5 2 3 5 1 3 8 5 s 0 7 2 1 5 2 3 5 1
Ad

Recommended

chapter24.ppt
chapter24.ppt
Tareq Hasan
 
1D Kinematics Notes
1D Kinematics Notes
cpphysics
 
1D graphs, kinematics, and calculus
1D graphs, kinematics, and calculus
cpphysics
 
Grade 11, U1C-L1, Vector Comp
Grade 11, U1C-L1, Vector Comp
gruszecki1
 
Motion graphs
Motion graphs
ndward
 
Velocity &amp; acceleration
Velocity &amp; acceleration
alexkhan129
 
lecture 21
lecture 21
sajinsc
 
Grade 11, U1A-L4, Motion Equations
Grade 11, U1A-L4, Motion Equations
gruszecki1
 
Daa chapter13
Daa chapter13
B.Kirron Reddi
 
Weighted graphs
Weighted graphs
Core Condor
 
Module No. 6
Module No. 6
Rajput AbdulWaheed Bhatti
 
Pwerhitungan struktur kabel listrick
Pwerhitungan struktur kabel listrick
CARLES HUTABARAT
 
Grade 12 Unit1-L1-Kinematic Equations
Grade 12 Unit1-L1-Kinematic Equations
gruszecki1
 
Simple Pendulum MC Question
Simple Pendulum MC Question
Michael Wu
 
Motion Graph & equations
Motion Graph & equations
Nurul Fadhilah
 
Grade 11, U1A-L1, Introduction to Kinematics
Grade 11, U1A-L1, Introduction to Kinematics
gruszecki1
 
lecture 22
lecture 22
sajinsc
 
Ppt on equations of motion by graphival method made by mudit gupta
Ppt on equations of motion by graphival method made by mudit gupta
MUDIT GUPTA
 
Motion L1
Motion L1
Tom Cull
 
Kinematics displacement velocity graphs
Kinematics displacement velocity graphs
Mohammed Ahmed
 
Introductiontomotion
Introductiontomotion
Conferat Conferat
 
Chapter 2
Chapter 2
Younes Sina
 
Lecture03
Lecture03
oyunbileg06
 
Scalars and vectors
Scalars and vectors
Mandisa Zwane
 
Grade 11, U1A-L5, Add/Sub Vectors in a Plane
Grade 11, U1A-L5, Add/Sub Vectors in a Plane
gruszecki1
 
Lecture01
Lecture01
nomio0703
 
Grade 11, U1A-L2 Motion Graphs
Grade 11, U1A-L2 Motion Graphs
gruszecki1
 
14210111030
14210111030
JayRaj Gadhavi
 
chapter23.ppt
chapter23.ppt
Tareq Hasan
 
minimum spanning trees Algorithm
minimum spanning trees Algorithm
sachin varun
 

More Related Content

What's hot (20)

Daa chapter13
Daa chapter13
B.Kirron Reddi
 
Weighted graphs
Weighted graphs
Core Condor
 
Module No. 6
Module No. 6
Rajput AbdulWaheed Bhatti
 
Pwerhitungan struktur kabel listrick
Pwerhitungan struktur kabel listrick
CARLES HUTABARAT
 
Grade 12 Unit1-L1-Kinematic Equations
Grade 12 Unit1-L1-Kinematic Equations
gruszecki1
 
Simple Pendulum MC Question
Simple Pendulum MC Question
Michael Wu
 
Motion Graph & equations
Motion Graph & equations
Nurul Fadhilah
 
Grade 11, U1A-L1, Introduction to Kinematics
Grade 11, U1A-L1, Introduction to Kinematics
gruszecki1
 
lecture 22
lecture 22
sajinsc
 
Ppt on equations of motion by graphival method made by mudit gupta
Ppt on equations of motion by graphival method made by mudit gupta
MUDIT GUPTA
 
Motion L1
Motion L1
Tom Cull
 
Kinematics displacement velocity graphs
Kinematics displacement velocity graphs
Mohammed Ahmed
 
Introductiontomotion
Introductiontomotion
Conferat Conferat
 
Chapter 2
Chapter 2
Younes Sina
 
Lecture03
Lecture03
oyunbileg06
 
Scalars and vectors
Scalars and vectors
Mandisa Zwane
 
Grade 11, U1A-L5, Add/Sub Vectors in a Plane
Grade 11, U1A-L5, Add/Sub Vectors in a Plane
gruszecki1
 
Lecture01
Lecture01
nomio0703
 
Grade 11, U1A-L2 Motion Graphs
Grade 11, U1A-L2 Motion Graphs
gruszecki1
 
14210111030
14210111030
JayRaj Gadhavi
 
Pwerhitungan struktur kabel listrick
Pwerhitungan struktur kabel listrick
CARLES HUTABARAT
 
Grade 12 Unit1-L1-Kinematic Equations
Grade 12 Unit1-L1-Kinematic Equations
gruszecki1
 
Simple Pendulum MC Question
Simple Pendulum MC Question
Michael Wu
 
Motion Graph & equations
Motion Graph & equations
Nurul Fadhilah
 
Grade 11, U1A-L1, Introduction to Kinematics
Grade 11, U1A-L1, Introduction to Kinematics
gruszecki1
 
lecture 22
lecture 22
sajinsc
 
Ppt on equations of motion by graphival method made by mudit gupta
Ppt on equations of motion by graphival method made by mudit gupta
MUDIT GUPTA
 
Kinematics displacement velocity graphs
Kinematics displacement velocity graphs
Mohammed Ahmed
 
Grade 11, U1A-L5, Add/Sub Vectors in a Plane
Grade 11, U1A-L5, Add/Sub Vectors in a Plane
gruszecki1
 
Grade 11, U1A-L2 Motion Graphs
Grade 11, U1A-L2 Motion Graphs
gruszecki1
 

Similar to lecture 16 (20)

chapter23.ppt
chapter23.ppt
Tareq Hasan
 
minimum spanning trees Algorithm
minimum spanning trees Algorithm
sachin varun
 
Unit 5 session 2 MinimumSpanningTrees.ppt
Unit 5 session 2 MinimumSpanningTrees.ppt
prithivr1
 
Greedy Approach in Design Analysis and Algorithms
Greedy Approach in Design Analysis and Algorithms
NikunjGoyal20
 
algorthm analysis from computer scince.ppt
algorthm analysis from computer scince.ppt
AbrehamHgiorgis
 
lecture 23 algorithm design and analysis
lecture 23 algorithm design and analysis
bluebirdrish666
 
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
KUSHDHIRRA2111026030
 
Prim Algorithm and kruskal algorithm
Prim Algorithm and kruskal algorithm
Acad
 
Minimum spanning tree
Minimum spanning tree
Amit Kumar Rathi
 
19 Minimum Spanning Trees
19 Minimum Spanning Trees
Andres Mendez-Vazquez
 
Greedy technique - Algorithm design techniques using data structures
Greedy technique - Algorithm design techniques using data structures
divyammo
 
7. Spanning trees
7. Spanning trees
Mandeep Singh
 
19 primkruskal
19 primkruskal
fika sweety
 
MST
MST
United International University
 
MST
MST
United International University
 
Data structure
Data structure
SangeethaSasi1
 
Skiena algorithm 2007 lecture13 minimum spanning trees
Skiena algorithm 2007 lecture13 minimum spanning trees
zukun
 
OTP, Phishing, QR code, Shares, Visual Cryptography.
OTP, Phishing, QR code, Shares, Visual Cryptography.
IJERA Editor
 
Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...
Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...
Animesh Chaturvedi
 
Algorithm Design and Complexity - Course 9
Algorithm Design and Complexity - Course 9
Traian Rebedea
 
minimum spanning trees Algorithm
minimum spanning trees Algorithm
sachin varun
 
Unit 5 session 2 MinimumSpanningTrees.ppt
Unit 5 session 2 MinimumSpanningTrees.ppt
prithivr1
 
Greedy Approach in Design Analysis and Algorithms
Greedy Approach in Design Analysis and Algorithms
NikunjGoyal20
 
algorthm analysis from computer scince.ppt
algorthm analysis from computer scince.ppt
AbrehamHgiorgis
 
lecture 23 algorithm design and analysis
lecture 23 algorithm design and analysis
bluebirdrish666
 
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
APznzaZLM_MVouyxM4cxHPJR5BC-TAxTWqhQJ2EywQQuXStxJTDoGkHdsKEQGd4Vo7BS3Q1npCOMV...
KUSHDHIRRA2111026030
 
Prim Algorithm and kruskal algorithm
Prim Algorithm and kruskal algorithm
Acad
 
Greedy technique - Algorithm design techniques using data structures
Greedy technique - Algorithm design techniques using data structures
divyammo
 
Skiena algorithm 2007 lecture13 minimum spanning trees
Skiena algorithm 2007 lecture13 minimum spanning trees
zukun
 
OTP, Phishing, QR code, Shares, Visual Cryptography.
OTP, Phishing, QR code, Shares, Visual Cryptography.
IJERA Editor
 
Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...
Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...
Animesh Chaturvedi
 
Algorithm Design and Complexity - Course 9
Algorithm Design and Complexity - Course 9
Traian Rebedea
 
Ad

More from sajinsc (20)

lecture 30
lecture 30
sajinsc
 
lecture 29
lecture 29
sajinsc
 
lecture 28
lecture 28
sajinsc
 
lecture 27
lecture 27
sajinsc
 
lecture 26
lecture 26
sajinsc
 
lecture 25
lecture 25
sajinsc
 
lecture 24
lecture 24
sajinsc
 
lecture 23
lecture 23
sajinsc
 
lecture 20
lecture 20
sajinsc
 
lecture 19
lecture 19
sajinsc
 
lecture 18
lecture 18
sajinsc
 
lecture 17
lecture 17
sajinsc
 
lecture 15
lecture 15
sajinsc
 
lecture 14
lecture 14
sajinsc
 
lecture 13
lecture 13
sajinsc
 
lecture 12
lecture 12
sajinsc
 
lecture 11
lecture 11
sajinsc
 
lecture 10
lecture 10
sajinsc
 
lecture 9
lecture 9
sajinsc
 
lecture 8
lecture 8
sajinsc
 
lecture 30
lecture 30
sajinsc
 
lecture 29
lecture 29
sajinsc
 
lecture 28
lecture 28
sajinsc
 
lecture 27
lecture 27
sajinsc
 
lecture 26
lecture 26
sajinsc
 
lecture 25
lecture 25
sajinsc
 
lecture 24
lecture 24
sajinsc
 
lecture 23
lecture 23
sajinsc
 
lecture 20
lecture 20
sajinsc
 
lecture 19
lecture 19
sajinsc
 
lecture 18
lecture 18
sajinsc
 
lecture 17
lecture 17
sajinsc
 
lecture 15
lecture 15
sajinsc
 
lecture 14
lecture 14
sajinsc
 
lecture 13
lecture 13
sajinsc
 
lecture 12
lecture 12
sajinsc
 
lecture 11
lecture 11
sajinsc
 
lecture 10
lecture 10
sajinsc
 
lecture 9
lecture 9
sajinsc
 
lecture 8
lecture 8
sajinsc
 
Ad

Recently uploaded (20)

LDMMIA Yoga S10 Free Workshop Grad Level
LDMMIA Yoga S10 Free Workshop Grad Level
LDM & Mia eStudios
 
LDMMIA Shop & Student News Summer Solstice 25
LDMMIA Shop & Student News Summer Solstice 25
LDM & Mia eStudios
 
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
Kweku Zurek
 
Chalukyas of Gujrat, Solanki Dynasty NEP.pptx
Chalukyas of Gujrat, Solanki Dynasty NEP.pptx
Dr. Ravi Shankar Arya Mahila P. G. College, Banaras Hindu University, Varanasi, India.
 
This is why students from these 44 institutions have not received National Se...
This is why students from these 44 institutions have not received National Se...
Kweku Zurek
 
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
KaryanaTantri21
 
Paper 108 | Thoreau’s Influence on Gandhi: The Evolution of Civil Disobedience
Paper 108 | Thoreau’s Influence on Gandhi: The Evolution of Civil Disobedience
Rajdeep Bavaliya
 
Sustainable Innovation with Immersive Learning
Sustainable Innovation with Immersive Learning
Leonel Morgado
 
Aprendendo Arquitetura Framework Salesforce - Dia 02
Aprendendo Arquitetura Framework Salesforce - Dia 02
Mauricio Alexandre Silva
 
GREAT QUIZ EXCHANGE 2025 - GENERAL QUIZ.pptx
GREAT QUIZ EXCHANGE 2025 - GENERAL QUIZ.pptx
Ronisha Das
 
Tanja Vujicic - PISA for Schools contact Info
Tanja Vujicic - PISA for Schools contact Info
EduSkills OECD
 
VCE Literature Section A Exam Response Guide
VCE Literature Section A Exam Response Guide
jpinnuck
 
How to Manage Different Customer Addresses in Odoo 18 Accounting
How to Manage Different Customer Addresses in Odoo 18 Accounting
Celine George
 
Hurricane Helene Application Documents Checklists
Hurricane Helene Application Documents Checklists
Mebane Rash
 
Paper 107 | From Watchdog to Lapdog: Ishiguro’s Fiction and the Rise of “Godi...
Paper 107 | From Watchdog to Lapdog: Ishiguro’s Fiction and the Rise of “Godi...
Rajdeep Bavaliya
 
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
Ultimatewinner0342
 
ENGLISH_Q1_W1 PowerPoint grade 3 quarter 1 week 1
ENGLISH_Q1_W1 PowerPoint grade 3 quarter 1 week 1
jutaydeonne
 
How payment terms are configured in Odoo 18
How payment terms are configured in Odoo 18
Celine George
 
A Visual Introduction to the Prophet Jeremiah
A Visual Introduction to the Prophet Jeremiah
Steve Thomason
 
ECONOMICS, DISASTER MANAGEMENT, ROAD SAFETY - STUDY MATERIAL [10TH]
ECONOMICS, DISASTER MANAGEMENT, ROAD SAFETY - STUDY MATERIAL [10TH]
SHERAZ AHMAD LONE
 
LDMMIA Yoga S10 Free Workshop Grad Level
LDMMIA Yoga S10 Free Workshop Grad Level
LDM & Mia eStudios
 
LDMMIA Shop & Student News Summer Solstice 25
LDMMIA Shop & Student News Summer Solstice 25
LDM & Mia eStudios
 
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
University of Ghana Cracks Down on Misconduct: Over 100 Students Sanctioned
Kweku Zurek
 
This is why students from these 44 institutions have not received National Se...
This is why students from these 44 institutions have not received National Se...
Kweku Zurek
 
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
KaryanaTantri21
 
Paper 108 | Thoreau’s Influence on Gandhi: The Evolution of Civil Disobedience
Paper 108 | Thoreau’s Influence on Gandhi: The Evolution of Civil Disobedience
Rajdeep Bavaliya
 
Sustainable Innovation with Immersive Learning
Sustainable Innovation with Immersive Learning
Leonel Morgado
 
Aprendendo Arquitetura Framework Salesforce - Dia 02
Aprendendo Arquitetura Framework Salesforce - Dia 02
Mauricio Alexandre Silva
 
GREAT QUIZ EXCHANGE 2025 - GENERAL QUIZ.pptx
GREAT QUIZ EXCHANGE 2025 - GENERAL QUIZ.pptx
Ronisha Das
 
Tanja Vujicic - PISA for Schools contact Info
Tanja Vujicic - PISA for Schools contact Info
EduSkills OECD
 
VCE Literature Section A Exam Response Guide
VCE Literature Section A Exam Response Guide
jpinnuck
 
How to Manage Different Customer Addresses in Odoo 18 Accounting
How to Manage Different Customer Addresses in Odoo 18 Accounting
Celine George
 
Hurricane Helene Application Documents Checklists
Hurricane Helene Application Documents Checklists
Mebane Rash
 
Paper 107 | From Watchdog to Lapdog: Ishiguro’s Fiction and the Rise of “Godi...
Paper 107 | From Watchdog to Lapdog: Ishiguro’s Fiction and the Rise of “Godi...
Rajdeep Bavaliya
 
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
Ultimatewinner0342
 
ENGLISH_Q1_W1 PowerPoint grade 3 quarter 1 week 1
ENGLISH_Q1_W1 PowerPoint grade 3 quarter 1 week 1
jutaydeonne
 
How payment terms are configured in Odoo 18
How payment terms are configured in Odoo 18
Celine George
 
A Visual Introduction to the Prophet Jeremiah
A Visual Introduction to the Prophet Jeremiah
Steve Thomason
 
ECONOMICS, DISASTER MANAGEMENT, ROAD SAFETY - STUDY MATERIAL [10TH]
ECONOMICS, DISASTER MANAGEMENT, ROAD SAFETY - STUDY MATERIAL [10TH]
SHERAZ AHMAD LONE
 

lecture 16

  • 1. Lecture 12 Minimum Spanning Tree
  • 2. Motivating Example: Point to Multipoint Communication Single source, Multiple Destinations Broadcast All nodes in the network are destinations Multicast Some nodes in the network are destinations Only one copy of the information travels along common edges Message replication along forking points only. 1 2
  • 3. Spanning Tree We consider undirected graphs here. A tree is a connected graph without a cycle A spanning tree is a tree which has all vertices of the graph There may be multiple spanning trees We need to choose the minimum weight tree for broadcast.
  • 4. Blue edge spanning tree is the minimum weight spanning tree 5 4 4 5
  • 5. Properties of a Tree A tree of V vertices has V-1 edges There exists a unique path between any two vertices of a tree. Adding any edge to a tree creates a unique cycle. Breaking any edge on this cycle restores a tree.
  • 6. Minimum Spanning Tree Construction We maintain a set of edges A, which is initially empty. Edges are added to A one at a time such that finally A becomes a minimum spanning tree. Edges are never removed from A. So ``safe’’ edges must be added to A, i.e., at any stage A must be a part of a spanning tree.
  • 7. Safe Edge Addition Consider a cut in a graph (a cut consists of 2 sets which partition the vertex set). A cut respects a set of edges I if no edge in the set crosses the cut. A minimum weight edge crossing a cut is denoted a light weight edge in the cut {A,B,C} {D,E,F} constitute a cut. Let I = {edge AB, edge EF}.Cut {A,B,C}, {D,E,F} respects set I Edge CD is a light weight edge in the example cut. A B C D E F 2 1 3 1
  • 8. Let A be a subset of a MST (minimum weight spanning tree). Let (S, V – S) be any cut that respects A Let edge (u, v) be a light edge crossing the cut Then A  (u, v) is subset of a MST
  • 9. Assume that all the edge weights are distinct. Let no MST containing A contain edge (u, v). Add the edge (u, v) to T Consider a MST T containing A Since (u, v) is not in T, T  (u, v) contains a cycle, and (u, v) is in the cycle. Edge (u, v) are in the opposite sides of the cut. Since any cycle must cross the cut even number of times, there exists at least one other edge (x, y) crossing the cut. Clearly, w(x, y) > w(u, v).
  • 10. The edge (x, y) is not in A because (x, y) crosses the cut, and the cut respects A. Removing (x, y) from the cycle, breaks the cycle and hence creates a spanning tree, T’, s.t. T’ = T  (u, v) – (x, y) w(T’) = w(T) + w(u, v) – w(x, y)  w(T) (as w(u, v) < w(x, y)) This contradicts the fact that T is a MST.
  • 11. So we always find a cut that respects A, And add a light edge across the cut to A. Kruskals and Prims algorithms find the cut differently.
  • 12. Kruskals Algorithm A =  For each vertex u in V, Create_Set(u) Sort E in increasing order by weight w For each edge (u,v) in the sorted list If Set(u)  = Set(v) Add (u,v) to A Union Set(u) and Set(v) Return A;
  • 13. Complexity Analysis The operations create set, testing whether set(u) == set(v), union operations can be done in log V operations, using Union find data structure. Step 1 can be done in Vlog V Step 2 can be done in Elog E Step 3 can be done in Elog V Overall complexity is O(Vlog V + Elog E + Elog V) or O((V + E)log V)
  • 14. 5 1 0 2 2 8 5 7 5 1 0 2 2 8 5 7 5 1 0 2 2 8 5 7 5 1 0 2 2 8 5 7 5 1 0 2 2 8 5 7
  • 15. Prims Algorithm Maintains a set of vertices S already in the spanning tree. Initially, S consists of one vertex r, selected arbitrarily. For every vertex u in V – S, maintain the weight of the lightest edge between u and any vertex in S. If there is no edge between u and S, then this weight associated with u is infinity.
  • 16. Add the vertex with the least weight to S. This is in effect adding the light weight edge crossing the cut S and V-S. Whenever a vertex is added to S, the weights of all its neighbors are reduced, if necessary.
  • 17. Pseudo-Code For each u in V, key[u] =  S =  Pred[r] = NULL Key[r] = 0 While V  = S u = Extract_Min(V-S) For each (v in Adj(u)) if (v not in S) key(v) = min(w(u, v), key(v)) and pred(v) = u Add u in S
  • 18. For each v in Adj[u]…. can be done in E complexity Rest of the loop can be done in V 2 complexity So, overall O(V 2 ) Using heaps we can solve in O((V + E)logV)
  • 19. Example 0 s 7 5 7 2 1 8 5 3 2 5 3 1 s 0 2 8 5 7 2 8 5 s 0 7 3 1 5 2 3 5 8 0 3 2 5 s 7 2 1 8 5 5 3 1 8 5 s 0 7 2 3 1 5 2 3 5 1 3 8 5 s 0 7 2 1 5 2 3 5 1