SlideShare a Scribd company logo
Analysis and Design of Algorithms
(2150703)
Presented by :
Jay Patel (130110107036)
Gujarat Technological University
G.H Patel College of Engineering and Technology
Department of Computer Engineering
Greedy Algorithms
Guided by:
Namrta Dave
Greedy Algorithms:
• Many real-world problems are optimization problems in that they attempt to find an
optimal solution among many possible candidate solutions.
• An optimization problem is one in which you want to find, not just a solution, but the best
solution
• A “greedy algorithm” sometimes works well for optimization problems
• A greedy algorithm works in phases. At each phase: You take the best you can get right
now, without regard for future consequences.You hope that by choosing a local optimum at
each step, you will end up at a global optimum
• A familiar scenario is the change-making problem that we often encounter at a cash
register: receiving the fewest numbers of coins to make change after paying the bill for a
purchase.
• Constructs a solution to an optimization problem piece by
• piece through a sequence of choices that are:
1.feasible, i.e. satisfying the constraints
2.locally optimal (with respect to some neighborhood definition)
3.greedy (in terms of some measure), and irrevocable
• For some problems, it yields a globally optimal solution for every instance. For most, does
not but can be useful for fast approximations. We are mostly interested in the former case
in this class.
Greedy Technique:
Greedy Techniques:
• Optimal solutions:
• change making for “normal” coin denominations
• minimum spanning tree (MST)
• Prim’s MST
• Kruskal’s MST
• simple scheduling problems
• Dijkstra’s algo
• Huffman codes
• Approximations/heuristics:
• traveling salesman problem (TSP)
• knapsack problem
• other combinatorial optimization problems
Greedy Scenario:
• Feasible
• Has to satisfy the problem’s constraints
• Locally Optimal
• Has to make the best local choice among all feasible choices available on that step
• If this local choice results in a global optimum then the problem has optimal
substructure
• Irrevocable
• Once a choice is made it can’t be un-done on subsequent steps of the algorithm
• Simple examples:
• Playing chess by making best move without look-ahead
• Giving fewest number of coins as change
• Simple and appealing, but don’t always give the best solution
Change-Making Problem:
Given unlimited amounts of coins of denominations , give change for amount n with the least
number of coins
Example: d1 = 25 INR, d2 =10 INR, d3 = 5 INR, d4 = 1 INR and n = 48 INR
Greedy solution: <1, 2, 0, 3>
So one 25 INR coin
Two 10 INR coin
Zero 5 INR coin
Three 1 INR coin
But it doesn’t give optimal solution everytime.
Failure of Greedy algorithm
Example:
• In some (fictional) monetary system, “Coin” come in 1 INR, 7 INR, and 10 INR coins
Using a greedy algorithm to count out 15 INR, you would get
A 10 INR coin
Five 1 INR coin, for a total of 15 INR
This requires six coins
A better solution would be to use two 7 INR coin and one 1 INR coin
This only requires three coins
The greedy algorithm results in a solution, but not in an optimal solution
Knapsack Problem:
• Given n objects each have a weight wi and a value vi , and given a knapsack of total
capacity W. The problem is to pack the knapsack with these objects in order to maximize
the total value of those objects packed without exceeding the knapsack’s capacity.
• More formally, let xi denote the fraction of the object i to be included in the knapsack, 0 
xi  1, for 1  i  n. The problem is to find values for the xi such that
• Note that we may assume because otherwise, we would choose xi = 1 for each i
which would be an obvious optimal solution.
 

n
i
ii
n
i
ii vxWwx
11
maximized.isand
 

n
i
i Ww
1
The optimal Knapsack Algorithm:
This algorithm is for time complexity O(n lgn))
(1) Sort the n objects from large to small based on the ratios vi/wi . We assume the
arrays w[1..n] and v[1..n] store the respective weights and values after sorting.
(2) initialize array x[1..n] to zeros.
(3) weight = 0; i = 1
(4) while (i  n and weight < W) do
(I) if weight + w[i]  W then x[i] = 1
(II) else x[i] = (W – weight) / w[i]
(III) weight = weight + x[i] * w[i]
(IV) i++
There seem to be 3 obvious greedy strategies:
(Max value) Sort the objects from the highest value to the lowest, then pick them in that order.
(Min weight) Sort the objects from the lowest weight to the highest, then pick them in that
order.
(Max value/weight ratio) Sort the objects based on the value to weight ratios, from the highest
to the lowest, then select.
Example: Given n = 5 objects and a knapsack capacity W = 100 as in Table I. The three
solutions are given in Table II.
Knapsack Problem:
W
V
V/W
10 20 30 40 50
20 30 66 40 60
2.0 1.5 2.2 1.0 1.2
Max Vi
Min Wi
Max Vi/Wi
SELECT Xi
0 0 1 0.5 1
1 1 1 1 0
1 1 1 0 0.8
Value
146
156
164
Minimum Spanning Tree (MST):
16 states of Spanning tree can happened
A cable company want to connect five villages to their network which currently
extends to the market town of Avonford.
What is the minimum length of cable needed?
A F
B C
D
E
2
7
4
5
8 6
4
5
3
8
Example
Solution for MST:
Kruskal’s Algorithm:
A F
B
C
D
E
2
7
4
5
8 6
4
5
3
8
List the edges in order of size:
ED 2 AB 3
AE 4 CD 4
BC 5 EF 5
CF 6 AF 7
BF 8 CF 8
MST-KRUSKAL(G, w)
1. A ← Ø
2. for each vertex v V[G]
3. do MAKE-SET(v)
4. sort the edges of E into nondecreasing order
by weight w
5. for each edge (u, v) E, taken in
nondecreasing
order by weight
6. do if FIND-SET(u) ≠ FIND-SET(v)
7. then A ← A {(u, v)}
8. UNION(u, v)
9. return A
Select the shortest
edge in the network
ED 2
A F
B C
D
E
2
7
4
5
8 6 4
5
3
8
Select the next shortest
edge which does not
create a cycle
ED 2
AB 3
A F
B C
D
E
2
7
4
5
8 6 4
5
3
8
1
43
2
Select the next shortest
edge which does not
create a cycle
ED 2
AB 3
CD 4 (or AE 4)
A F
B
C
D
E
2
7
4 5
8 6 4
5
3
8
Select the next shortest
edge which does not
create a cycle
ED 2
AB 3
CD 4
AE 4
A F
B C
D
E
2
7
4
5
8 6 4
5
3
8
Select the next shortest
edge which does not
create a cycle
ED 2
AB 3
CD 4
AE 4
BC 5 – forms a cycle
EF 5
A F
B
C
D
E
2
7
4
5
8 6 4
5
3
8
All vertices have been conn
The solution is
ED 2
AB 3
CD 4
AE 4
EF 5
A F
B C
D
E
2
7
4
5
8 6 4
5
3
8
5
6
Total weight of tree: 18
Kruskal’s Algorithm:
Prim’s Algorithm:
MST-PRIM(G, w, r)
1. for each u V [G]
2. do key[u] ← ∞
3. π[u] ← NIL
4. key[r] ← 0
5. Q ← V [G]
6. while Q ≠ Ø
7. do u ← EXTRACT-MIN(Q)
8. for each v Adj[u]
9. do if v Q and w(u, v) < key[v]
10. then π[v] ← u
11. key[v] ← w(u, v)
A F
B C
D
E
2
7
4
5
8 6 4
5
3
8
Select any vertex
A
Select the shortest edge connected to that vertex
AB 3
Prim’s Algorithm:
A F
B C
D
E
2
7
4
5
8 6 4
5
3
8
Select the shortest
edge connected to
any vertex already
connected.
AE 4
1
43
2
Select the shortest
edge connected to
any vertex already
connected.
ED 2
A F
B
C
D
E
2
7
4
5
8 6 4
5
3
8
Select the shortest
edge connected to
any vertex already
connected.
DC 4
A F
B
C
D
E
2
7
4
5
8 6 4
5
3
8
Select the shortest
edge connected to
any vertex already
connected.
EF 5
A F
B
C
D
E
2
7
4
5
8 6 4
5
3
8
Prim’s Algorithm:
A
F
B
C
D
E
2
7
4
5
8 6
4
5
3
8
All vertices have been connected.
The solution is
AB 3
AE 4
ED 2
DC 4
EF 5
Total weight of tree: 18
There are some methods left:
• Dijkstra’s algorithm
• Huffman’s Algorithm
• Task scheduling
• Travelling salesman Problem etc.
• Dynamic Greedy Problems
Greedy Algorithms:
We can find the optimized solution with Greedy method which may be optimal sometime.
THANK YOU

More Related Content

What's hot (20)

PPT
Branch and bound
Dr Shashikant Athawale
 
PPTX
Strassen's matrix multiplication
Megha V
 
PPTX
Vertex cover Problem
Gajanand Sharma
 
PPTX
Space complexity
Bhanusree Koduru
 
PPTX
Job sequencing with deadline
Arafat Hossan
 
PPT
01 knapsack using backtracking
mandlapure
 
PDF
A greedy algorithms
Amit Kumar Rathi
 
PPTX
Dijkstra s algorithm
mansab MIRZA
 
PPTX
Coin Change : Greedy vs Dynamic Programming
Syeda Khadizatul maria
 
PPT
SINGLE-SOURCE SHORTEST PATHS
Md. Shafiuzzaman Hira
 
PPT
Knapsack problem
Vikas Sharma
 
PPTX
Travelling salesman dynamic programming
maharajdey
 
PPTX
Graph coloring using backtracking
shashidharPapishetty
 
PPTX
Knapsack Problem
Jenny Galino
 
PPTX
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
muthukrishnavinayaga
 
PPT
Bucket sort
Hossain Md Shakhawat
 
PPTX
CONTEXT FREE GRAMMAR
Zahid Parvez
 
PPTX
Kruskal Algorithm
Bhavik Vashi
 
PPT
Greedy method1
Rajendran
 
Branch and bound
Dr Shashikant Athawale
 
Strassen's matrix multiplication
Megha V
 
Vertex cover Problem
Gajanand Sharma
 
Space complexity
Bhanusree Koduru
 
Job sequencing with deadline
Arafat Hossan
 
01 knapsack using backtracking
mandlapure
 
A greedy algorithms
Amit Kumar Rathi
 
Dijkstra s algorithm
mansab MIRZA
 
Coin Change : Greedy vs Dynamic Programming
Syeda Khadizatul maria
 
SINGLE-SOURCE SHORTEST PATHS
Md. Shafiuzzaman Hira
 
Knapsack problem
Vikas Sharma
 
Travelling salesman dynamic programming
maharajdey
 
Graph coloring using backtracking
shashidharPapishetty
 
Knapsack Problem
Jenny Galino
 
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
muthukrishnavinayaga
 
CONTEXT FREE GRAMMAR
Zahid Parvez
 
Kruskal Algorithm
Bhavik Vashi
 
Greedy method1
Rajendran
 

Similar to Greedy algorithms -Making change-Knapsack-Prim's-Kruskal's (20)

PPTX
Unit 3- Greedy Method.pptx
MaryJacob24
 
PDF
Unit 3 - Greedy Method
MaryJacob24
 
PDF
Unit 3 greedy method
MaryJacob24
 
PDF
Module 2 - Greedy Algorithm Data structures and algorithm
farzanirani201402
 
PPTX
7. Algorithm Design and analysis ppt.pptx
deivasigamani9
 
PPT
Unit 3-Greedy Method
DevaKumari Vijay
 
PPT
3 Greedy-lec.pptggggghhhhhhhyyyyyyyyyyyyyy
esraelman182
 
PDF
Mastering Greedy Algorithms: Optimizing Solutions for Efficiency"
22bcs058
 
PPT
ch09-04-14-14.ppt design and analysis of algorithms
ssuser99ca78
 
PDF
module3_Greedymethod_2022.pdf
Shiwani Gupta
 
PDF
Unit3_1.pdf
Pratimakumari213460
 
PPT
Greedy algorithm pptxe file for computer
kerimu1235
 
PDF
Lec07-Greedy Algorithms.pdf Lec07-Greedy Algorithms.pdf
MAJDABDALLAH3
 
PDF
Algorithm chapter 9
chidabdu
 
PPTX
Module 3_DAA (2).pptx
AnkitaVerma776806
 
PDF
Introduction to Greedy method, 0/1 Knapsack problem
DrSMeenakshiSundaram1
 
PPTX
Greedy Algorithms
Amrinder Arora
 
PPTX
daa-unit-3-greedy method
hodcsencet
 
PPT
test pre
farazch
 
PPT
Lecture#9
Ali Shah
 
Unit 3- Greedy Method.pptx
MaryJacob24
 
Unit 3 - Greedy Method
MaryJacob24
 
Unit 3 greedy method
MaryJacob24
 
Module 2 - Greedy Algorithm Data structures and algorithm
farzanirani201402
 
7. Algorithm Design and analysis ppt.pptx
deivasigamani9
 
Unit 3-Greedy Method
DevaKumari Vijay
 
3 Greedy-lec.pptggggghhhhhhhyyyyyyyyyyyyyy
esraelman182
 
Mastering Greedy Algorithms: Optimizing Solutions for Efficiency"
22bcs058
 
ch09-04-14-14.ppt design and analysis of algorithms
ssuser99ca78
 
module3_Greedymethod_2022.pdf
Shiwani Gupta
 
Unit3_1.pdf
Pratimakumari213460
 
Greedy algorithm pptxe file for computer
kerimu1235
 
Lec07-Greedy Algorithms.pdf Lec07-Greedy Algorithms.pdf
MAJDABDALLAH3
 
Algorithm chapter 9
chidabdu
 
Module 3_DAA (2).pptx
AnkitaVerma776806
 
Introduction to Greedy method, 0/1 Knapsack problem
DrSMeenakshiSundaram1
 
Greedy Algorithms
Amrinder Arora
 
daa-unit-3-greedy method
hodcsencet
 
test pre
farazch
 
Lecture#9
Ali Shah
 
Ad

More from Jay Patel (12)

PPT
Motivational hindi cpd ppt sem 2
Jay Patel
 
PPTX
Cpp (C++)
Jay Patel
 
PPTX
Cpd- Contributor and Personality Development
Jay Patel
 
PPTX
Cpd- Contributor and Personality Development
Jay Patel
 
PPTX
Cpd- Contribution and Personality Development
Jay Patel
 
PPTX
Coa 09-36-computer organization and archietecture-CO-COA
Jay Patel
 
PPT
Ch7 official=computer organization and archietectur- CO-COA
Jay Patel
 
PPT
15 control-computer organization and archietecture-CO-COA
Jay Patel
 
PPTX
9 36-computer organization and archietecture- CO- COA
Jay Patel
 
PPTX
3 4- computer organization and archietecture- COA- CO- Computer organization
Jay Patel
 
PPTX
Cn 04,32,36-Cn all chapters1- computer networks- gtu
Jay Patel
 
PPTX
Greedy Algorithm-Dijkstra's algo
Jay Patel
 
Motivational hindi cpd ppt sem 2
Jay Patel
 
Cpp (C++)
Jay Patel
 
Cpd- Contributor and Personality Development
Jay Patel
 
Cpd- Contributor and Personality Development
Jay Patel
 
Cpd- Contribution and Personality Development
Jay Patel
 
Coa 09-36-computer organization and archietecture-CO-COA
Jay Patel
 
Ch7 official=computer organization and archietectur- CO-COA
Jay Patel
 
15 control-computer organization and archietecture-CO-COA
Jay Patel
 
9 36-computer organization and archietecture- CO- COA
Jay Patel
 
3 4- computer organization and archietecture- COA- CO- Computer organization
Jay Patel
 
Cn 04,32,36-Cn all chapters1- computer networks- gtu
Jay Patel
 
Greedy Algorithm-Dijkstra's algo
Jay Patel
 
Ad

Recently uploaded (20)

PPTX
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
PPTX
2025 CGI Congres - Surviving agile v05.pptx
Derk-Jan de Grood
 
PDF
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
PDF
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
DOCX
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
PPTX
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
PPTX
Knowledge Representation : Semantic Networks
Amity University, Patna
 
DOC
MRRS Strength and Durability of Concrete
CivilMythili
 
PDF
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
PPTX
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
PPTX
Introduction to Basic Renewable Energy.pptx
examcoordinatormesu
 
PPTX
Introduction to Design of Machine Elements
PradeepKumarS27
 
PPTX
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
PDF
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
DOCX
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
PPTX
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
PPTX
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
PPTX
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
PDF
Halide Perovskites’ Multifunctional Properties: Coordination Engineering, Coo...
TaameBerhe2
 
PPTX
Worm gear strength and wear calculation as per standard VB Bhandari Databook.
shahveer210504
 
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
2025 CGI Congres - Surviving agile v05.pptx
Derk-Jan de Grood
 
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
Knowledge Representation : Semantic Networks
Amity University, Patna
 
MRRS Strength and Durability of Concrete
CivilMythili
 
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
Introduction to Basic Renewable Energy.pptx
examcoordinatormesu
 
Introduction to Design of Machine Elements
PradeepKumarS27
 
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
Halide Perovskites’ Multifunctional Properties: Coordination Engineering, Coo...
TaameBerhe2
 
Worm gear strength and wear calculation as per standard VB Bhandari Databook.
shahveer210504
 

Greedy algorithms -Making change-Knapsack-Prim's-Kruskal's

  • 1. Analysis and Design of Algorithms (2150703) Presented by : Jay Patel (130110107036) Gujarat Technological University G.H Patel College of Engineering and Technology Department of Computer Engineering Greedy Algorithms Guided by: Namrta Dave
  • 2. Greedy Algorithms: • Many real-world problems are optimization problems in that they attempt to find an optimal solution among many possible candidate solutions. • An optimization problem is one in which you want to find, not just a solution, but the best solution • A “greedy algorithm” sometimes works well for optimization problems • A greedy algorithm works in phases. At each phase: You take the best you can get right now, without regard for future consequences.You hope that by choosing a local optimum at each step, you will end up at a global optimum • A familiar scenario is the change-making problem that we often encounter at a cash register: receiving the fewest numbers of coins to make change after paying the bill for a purchase.
  • 3. • Constructs a solution to an optimization problem piece by • piece through a sequence of choices that are: 1.feasible, i.e. satisfying the constraints 2.locally optimal (with respect to some neighborhood definition) 3.greedy (in terms of some measure), and irrevocable • For some problems, it yields a globally optimal solution for every instance. For most, does not but can be useful for fast approximations. We are mostly interested in the former case in this class. Greedy Technique:
  • 4. Greedy Techniques: • Optimal solutions: • change making for “normal” coin denominations • minimum spanning tree (MST) • Prim’s MST • Kruskal’s MST • simple scheduling problems • Dijkstra’s algo • Huffman codes • Approximations/heuristics: • traveling salesman problem (TSP) • knapsack problem • other combinatorial optimization problems
  • 5. Greedy Scenario: • Feasible • Has to satisfy the problem’s constraints • Locally Optimal • Has to make the best local choice among all feasible choices available on that step • If this local choice results in a global optimum then the problem has optimal substructure • Irrevocable • Once a choice is made it can’t be un-done on subsequent steps of the algorithm • Simple examples: • Playing chess by making best move without look-ahead • Giving fewest number of coins as change • Simple and appealing, but don’t always give the best solution
  • 6. Change-Making Problem: Given unlimited amounts of coins of denominations , give change for amount n with the least number of coins Example: d1 = 25 INR, d2 =10 INR, d3 = 5 INR, d4 = 1 INR and n = 48 INR Greedy solution: <1, 2, 0, 3> So one 25 INR coin Two 10 INR coin Zero 5 INR coin Three 1 INR coin But it doesn’t give optimal solution everytime.
  • 7. Failure of Greedy algorithm Example: • In some (fictional) monetary system, “Coin” come in 1 INR, 7 INR, and 10 INR coins Using a greedy algorithm to count out 15 INR, you would get A 10 INR coin Five 1 INR coin, for a total of 15 INR This requires six coins A better solution would be to use two 7 INR coin and one 1 INR coin This only requires three coins The greedy algorithm results in a solution, but not in an optimal solution
  • 8. Knapsack Problem: • Given n objects each have a weight wi and a value vi , and given a knapsack of total capacity W. The problem is to pack the knapsack with these objects in order to maximize the total value of those objects packed without exceeding the knapsack’s capacity. • More formally, let xi denote the fraction of the object i to be included in the knapsack, 0  xi  1, for 1  i  n. The problem is to find values for the xi such that • Note that we may assume because otherwise, we would choose xi = 1 for each i which would be an obvious optimal solution.    n i ii n i ii vxWwx 11 maximized.isand    n i i Ww 1
  • 9. The optimal Knapsack Algorithm: This algorithm is for time complexity O(n lgn)) (1) Sort the n objects from large to small based on the ratios vi/wi . We assume the arrays w[1..n] and v[1..n] store the respective weights and values after sorting. (2) initialize array x[1..n] to zeros. (3) weight = 0; i = 1 (4) while (i  n and weight < W) do (I) if weight + w[i]  W then x[i] = 1 (II) else x[i] = (W – weight) / w[i] (III) weight = weight + x[i] * w[i] (IV) i++
  • 10. There seem to be 3 obvious greedy strategies: (Max value) Sort the objects from the highest value to the lowest, then pick them in that order. (Min weight) Sort the objects from the lowest weight to the highest, then pick them in that order. (Max value/weight ratio) Sort the objects based on the value to weight ratios, from the highest to the lowest, then select. Example: Given n = 5 objects and a knapsack capacity W = 100 as in Table I. The three solutions are given in Table II. Knapsack Problem: W V V/W 10 20 30 40 50 20 30 66 40 60 2.0 1.5 2.2 1.0 1.2 Max Vi Min Wi Max Vi/Wi SELECT Xi 0 0 1 0.5 1 1 1 1 1 0 1 1 1 0 0.8 Value 146 156 164
  • 11. Minimum Spanning Tree (MST): 16 states of Spanning tree can happened
  • 12. A cable company want to connect five villages to their network which currently extends to the market town of Avonford. What is the minimum length of cable needed? A F B C D E 2 7 4 5 8 6 4 5 3 8 Example Solution for MST:
  • 13. Kruskal’s Algorithm: A F B C D E 2 7 4 5 8 6 4 5 3 8 List the edges in order of size: ED 2 AB 3 AE 4 CD 4 BC 5 EF 5 CF 6 AF 7 BF 8 CF 8 MST-KRUSKAL(G, w) 1. A ← Ø 2. for each vertex v V[G] 3. do MAKE-SET(v) 4. sort the edges of E into nondecreasing order by weight w 5. for each edge (u, v) E, taken in nondecreasing order by weight 6. do if FIND-SET(u) ≠ FIND-SET(v) 7. then A ← A {(u, v)} 8. UNION(u, v) 9. return A
  • 14. Select the shortest edge in the network ED 2 A F B C D E 2 7 4 5 8 6 4 5 3 8 Select the next shortest edge which does not create a cycle ED 2 AB 3 A F B C D E 2 7 4 5 8 6 4 5 3 8 1 43 2 Select the next shortest edge which does not create a cycle ED 2 AB 3 CD 4 (or AE 4) A F B C D E 2 7 4 5 8 6 4 5 3 8 Select the next shortest edge which does not create a cycle ED 2 AB 3 CD 4 AE 4 A F B C D E 2 7 4 5 8 6 4 5 3 8
  • 15. Select the next shortest edge which does not create a cycle ED 2 AB 3 CD 4 AE 4 BC 5 – forms a cycle EF 5 A F B C D E 2 7 4 5 8 6 4 5 3 8 All vertices have been conn The solution is ED 2 AB 3 CD 4 AE 4 EF 5 A F B C D E 2 7 4 5 8 6 4 5 3 8 5 6 Total weight of tree: 18 Kruskal’s Algorithm:
  • 16. Prim’s Algorithm: MST-PRIM(G, w, r) 1. for each u V [G] 2. do key[u] ← ∞ 3. π[u] ← NIL 4. key[r] ← 0 5. Q ← V [G] 6. while Q ≠ Ø 7. do u ← EXTRACT-MIN(Q) 8. for each v Adj[u] 9. do if v Q and w(u, v) < key[v] 10. then π[v] ← u 11. key[v] ← w(u, v)
  • 17. A F B C D E 2 7 4 5 8 6 4 5 3 8 Select any vertex A Select the shortest edge connected to that vertex AB 3 Prim’s Algorithm:
  • 18. A F B C D E 2 7 4 5 8 6 4 5 3 8 Select the shortest edge connected to any vertex already connected. AE 4 1 43 2 Select the shortest edge connected to any vertex already connected. ED 2 A F B C D E 2 7 4 5 8 6 4 5 3 8 Select the shortest edge connected to any vertex already connected. DC 4 A F B C D E 2 7 4 5 8 6 4 5 3 8 Select the shortest edge connected to any vertex already connected. EF 5 A F B C D E 2 7 4 5 8 6 4 5 3 8
  • 19. Prim’s Algorithm: A F B C D E 2 7 4 5 8 6 4 5 3 8 All vertices have been connected. The solution is AB 3 AE 4 ED 2 DC 4 EF 5 Total weight of tree: 18
  • 20. There are some methods left: • Dijkstra’s algorithm • Huffman’s Algorithm • Task scheduling • Travelling salesman Problem etc. • Dynamic Greedy Problems Greedy Algorithms: We can find the optimized solution with Greedy method which may be optimal sometime.