SlideShare a Scribd company logo
7
Most read
8
Most read
16
Most read
1
2
3
INTRODUCTION
GroupGroup 22
Name Roll No
Rubina Mustafa 3
Hafiz Jawad Mansoor 25
Sajad Ul Haq 5
Umair 16
Rao Waqar Akram 17
4
Greedy AlgorithmGreedy Algorithm
5
A SHORT LIST OF CATEGORIES
 Algorithm types we will consider include:
 Simple recursive algorithms
 Backtracking algorithms
 Divide and conquer algorithms
 Dynamic programming algorithms
 Greedy algorithms
 Branch and bound algorithms
 Brute force algorithms
 Randomized algorithms
6
OPTIMIZATION PROBLEMS
 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
7
7
8
EXAMPLE: COUNTING MONEY
 Suppose you want to count out a certain amount of
money, using the fewest possible bills and coins
 A greedy algorithm would do this would be:
At each step, take the largest possible bill or coin
that does not overshoot
 Example: To make $6.39, you can choose:
 a $5 bill
 a $1 bill, to make $6
 a 25¢ coin, to make $6.25
 A 10¢ coin, to make $6.35
 four 1¢ coins, to make $6.39
 For US money, the greedy algorithm always gives
the optimum solution
9
10
EXAMPLE
11
A SCHEDULING PROBLEM
 You have to run nine jobs, with running times of 3, 5, 6, 10, 11,
14, 15, 18, and 20 minutes
 You have three processors on which you can run these jobs
 You decide to do the longest-running jobs first, on whatever
processor is available
 Time to completion: 18 + 11 + 6 = 35 minutes
 This solution isn’t bad, but we might be able to do
better
20
18
15 14
11
10
6
5
3P1
P2
P3
12
ANOTHER APPROACH
 What would be the result if you ran the shortest job first?
 Again, the running times are 3, 5, 6, 10, 11, 14, 15, 18, and 20
minutes
 That wasn’t such a good idea; time to completion is now
6 + 14 + 20 = 40 minutes
 Note, however, that the greedy algorithm itself is fast
 All we had to do at each stage was pick the minimum or
maximum
20
18
15
14
11
10
6
5
3P1
P2
P3
13
AN OPTIMUM SOLUTION
 Better solutions do exist:
 This solution is clearly optimal (why?)
 Clearly, there are other optimal solutions (why?)
 How do we find such a solution?
 One way: Try all possible assignments of jobs to processors
 Unfortunately, this approach can take exponential time
20
18
15
14
11
10 6
5
3
P1
P2
P3
14
HUFFMAN ENCODING
 The Huffman encoding algorithm is a greedy algorithm
 You always pick the two smallest numbers to combine
 Average bits/char:
0.22*2 + 0.12*3 +
0.24*2 + 0.06*4 +
0.27*2 + 0.09*4
= 2.42
 The Huffman
algorithm finds an
optimal solution
22 12 24 6 27 9
A B C D E F
15
27
46
54
100
A=00
B=100
C=01
D=1010
E=11
F=1011
15
MINIMUM SPANNING TREE
 A minimum spanning tree is a least-cost subset of the
edges of a graph that connects all the nodes
 Start by picking any node and adding it to the tree
 Repeatedly: Pick any least-cost edge from a node in the tree to a
node not in the tree, and add the edge and new node to the tree
 Stop when all nodes have been added to the tree
 The result is a least-cost
(3+3+2+2+2=12) spanning tree
 If you think some other edge
should be in the spanning tree:
 Try adding that edge
 Note that the edge is part of a cycle
 To break the cycle, you must remove
the edge with the greatest cost
 This will be the edge you just added
1
2
3
4
5
6
3 3
3
3
2
2
2
4
4
4
16
TRAVELING SALESMAN
 A salesman must visit every city (starting from city A),
and wants to cover the least possible distance
 He can revisit a city (and reuse a road) if necessary
 He does this by using a greedy algorithm: He goes to the
next nearest city from wherever he is
 From A he goes to B
 From B he goes to D
 This is not going to result in a
shortest path!
 The best result he can get
now will be ABDBCE, at a
cost of 16
 An actual least-cost path from
A is ADBCE, at a cost of 14
E
A B C
D
2
3 3
4
4 4
17
OTHER GREEDY ALGORITHMS
 Dijkstra’s algorithm for finding the shortest path
in a graph
 Always takes the shortest edge connecting a known
node to an unknown node
 Kruskal’s algorithm for finding a minimum-cost
spanning tree
 Always tries the lowest-cost remaining edge
 Prim’s algorithm for finding a minimum-cost
spanning tree
 Always takes the lowest-cost edge between nodes in
the spanning tree and nodes not yet in the spanning
tree
18
PSEOUDOCODE
 Begin
 Greedy(input I)
 while (solution is not complete) do
 Select the best element x in the
 remaining input I;
 Put x next in the output;
 Remove x from the remaining input;
 Endwhile
 End
19
ALGORITHM
 MAKE-CHANGE (n)
        C ← {100, 25, 10, 5, 1}     // constant.
        Sol ← {};                         // set that will hold the solution set.
        Sum ← 0 sum of item in solution set
        WHILE sum != n
            x = largest item in set C such that sum + x ≤ n
            IF no such item THEN
                RETURN    "No Solution"
            S ← S {value of x}
            sum ← sum + x
        RETURN S
19
20
CONNECTING WIRES
 There are n white dots and n black dots, equally spaced,
in a line
 You want to connect each white dot with some one black
dot, with a minimum total length of “wire”
 Example:
 Total wire length above is 1 + 1 + 1 + 5 = 8
 Do you see a greedy algorithm for doing this?
 Does the algorithm guarantee an optimal solution?
 Can you prove it?
 Can you find a counterexample?
21
COLLECTING COINS
 A checkerboard has a certain number of coins on it
 A robot starts in the upper-left corner, and walks to
the bottom left-hand corner
 The robot can only move in two directions: right and down
 The robot collects coins as it goes
 You want to collect all the coins using the minimum
number of robots
 Example:  Do you see a greedy algorithm for
doing this?
 Does the algorithm guarantee an
optimal solution?
 Can you prove it?
 Can you find a counterexample?
22

More Related Content

PPT
Greedy Algorihm
PPT
Greedy algorithms
PPTX
sum of subset problem using Backtracking
PPT
Backtracking Algorithm.ppt
PPT
BackTracking Algorithm: Technique and Examples
PPT
Randomized algorithms ver 1.0
PPTX
Brute force method
Greedy Algorihm
Greedy algorithms
sum of subset problem using Backtracking
Backtracking Algorithm.ppt
BackTracking Algorithm: Technique and Examples
Randomized algorithms ver 1.0
Brute force method

What's hot (20)

PPT
Graph coloring problem
PPT
0/1 knapsack
PDF
P, NP, NP-Complete, and NP-Hard
PPTX
0 1 knapsack using branch and bound
PPTX
Dynamic programming class 16
PPTX
Greedy algorithms
PDF
Design and analysis of algorithms
PDF
A greedy algorithms
PPTX
Backtracking
PPTX
AI: Learning in AI
PDF
Coin Change Problem
PPTX
Coin change Problem (DP & GREEDY)
PDF
A* Search Algorithm
PPT
Backtracking
PPT
Bellman Ford's Algorithm
PPTX
Constraint satisfaction problems (csp)
PPT
Greedy method1
PPTX
Travelling salesman dynamic programming
PPT
Greedy method by Dr. B. J. Mohite
PDF
Algorithms Lecture 2: Analysis of Algorithms I
Graph coloring problem
0/1 knapsack
P, NP, NP-Complete, and NP-Hard
0 1 knapsack using branch and bound
Dynamic programming class 16
Greedy algorithms
Design and analysis of algorithms
A greedy algorithms
Backtracking
AI: Learning in AI
Coin Change Problem
Coin change Problem (DP & GREEDY)
A* Search Algorithm
Backtracking
Bellman Ford's Algorithm
Constraint satisfaction problems (csp)
Greedy method1
Travelling salesman dynamic programming
Greedy method by Dr. B. J. Mohite
Algorithms Lecture 2: Analysis of Algorithms I
Ad

Viewers also liked (20)

PPTX
Greedy algorithm
PPTX
Greedy Algorithms
PPT
Greedy
PPTX
Application of greedy method
PPTX
Knapsack Problem
PPT
Greedymethod
PPS
Greedy Algorithms with examples' b-18298
PPT
Knapsack problem
PPT
01 knapsack using backtracking
PPTX
Knapsack
PPT
Knapsack Algorithm www.geekssay.com
PPT
PPTX
Application of greedy method prim
PPTX
Activity selection problem
PPTX
Greedy Algorithm-Dijkstra's algo
PDF
Greedy is Good
PDF
Maximum Flow
PPT
Chapter 17
PDF
[ACM-ICPC] Bipartite Matching
PPTX
Branch and bound
Greedy algorithm
Greedy Algorithms
Greedy
Application of greedy method
Knapsack Problem
Greedymethod
Greedy Algorithms with examples' b-18298
Knapsack problem
01 knapsack using backtracking
Knapsack
Knapsack Algorithm www.geekssay.com
Application of greedy method prim
Activity selection problem
Greedy Algorithm-Dijkstra's algo
Greedy is Good
Maximum Flow
Chapter 17
[ACM-ICPC] Bipartite Matching
Branch and bound
Ad

Similar to Greedy Algorithm (20)

PPT
36 greedy
PPTX
greedy algorithm.pptx good for understanding
PPT
35 algorithm-types
PDF
Introduction to Algorithm Design and Analysis.pdf
PPT
Greedy algorithm pptxe file for computer
PPT
32 algorithm-types
PDF
Analysis and Design of Algorithms notes
PPT
44 randomized-algorithms
PDF
Mastering Greedy Algorithms: Optimizing Solutions for Efficiency"
PDF
Sienna 1 intro
PPTX
Greedy algorithms -Making change-Knapsack-Prim's-Kruskal's
PPT
Data_Structure_and_Algorithms_Lecture_1.ppt
PPTX
Algorithms Design Patterns
PPTX
Approximation algorithms
PPTX
Design and Analysis of Algorithm-Lecture.pptx
PDF
19IS402_LP1_LM_22-23.pdf
PPTX
Lecture-11-CS345A-2023 of Design and Analysis
PPT
5.1 greedyyy 02
PPSX
Ic lecture6 architecture and algo
PDF
Introduction to Greedy method, 0/1 Knapsack problem
36 greedy
greedy algorithm.pptx good for understanding
35 algorithm-types
Introduction to Algorithm Design and Analysis.pdf
Greedy algorithm pptxe file for computer
32 algorithm-types
Analysis and Design of Algorithms notes
44 randomized-algorithms
Mastering Greedy Algorithms: Optimizing Solutions for Efficiency"
Sienna 1 intro
Greedy algorithms -Making change-Knapsack-Prim's-Kruskal's
Data_Structure_and_Algorithms_Lecture_1.ppt
Algorithms Design Patterns
Approximation algorithms
Design and Analysis of Algorithm-Lecture.pptx
19IS402_LP1_LM_22-23.pdf
Lecture-11-CS345A-2023 of Design and Analysis
5.1 greedyyy 02
Ic lecture6 architecture and algo
Introduction to Greedy method, 0/1 Knapsack problem

Recently uploaded (20)

DOCX
ENGLISH PROJECT FOR BINOD BIHARI MAHTO KOYLANCHAL UNIVERSITY
PPTX
fundraisepro pitch deck elegant and modern
DOC
学位双硕士UTAS毕业证,墨尔本理工学院毕业证留学硕士毕业证
PPTX
Non-Verbal-Communication .mh.pdf_110245_compressed.pptx
PDF
Parts of Speech Prepositions Presentation in Colorful Cute Style_20250724_230...
PPTX
Primary and secondary sources, and history
PPTX
Intro to ISO 9001 2015.pptx wareness raising
PPTX
Human Mind & its character Characteristics
PPTX
Understanding-Communication-Berlos-S-M-C-R-Model.pptx
PPTX
Emphasizing It's Not The End 08 06 2025.pptx
PPTX
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
PPTX
Introduction to Effective Communication.pptx
PDF
Instagram's Product Secrets Unveiled with this PPT
PPTX
Project and change Managment: short video sequences for IBA
PPTX
INTERNATIONAL LABOUR ORAGNISATION PPT ON SOCIAL SCIENCE
DOCX
"Project Management: Ultimate Guide to Tools, Techniques, and Strategies (2025)"
PPTX
The Effect of Human Resource Management Practice on Organizational Performanc...
PPTX
Relationship Management Presentation In Banking.pptx
PPTX
nose tajweed for the arabic alphabets for the responsive
PPTX
Tablets And Capsule Preformulation Of Paracetamol
ENGLISH PROJECT FOR BINOD BIHARI MAHTO KOYLANCHAL UNIVERSITY
fundraisepro pitch deck elegant and modern
学位双硕士UTAS毕业证,墨尔本理工学院毕业证留学硕士毕业证
Non-Verbal-Communication .mh.pdf_110245_compressed.pptx
Parts of Speech Prepositions Presentation in Colorful Cute Style_20250724_230...
Primary and secondary sources, and history
Intro to ISO 9001 2015.pptx wareness raising
Human Mind & its character Characteristics
Understanding-Communication-Berlos-S-M-C-R-Model.pptx
Emphasizing It's Not The End 08 06 2025.pptx
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
Introduction to Effective Communication.pptx
Instagram's Product Secrets Unveiled with this PPT
Project and change Managment: short video sequences for IBA
INTERNATIONAL LABOUR ORAGNISATION PPT ON SOCIAL SCIENCE
"Project Management: Ultimate Guide to Tools, Techniques, and Strategies (2025)"
The Effect of Human Resource Management Practice on Organizational Performanc...
Relationship Management Presentation In Banking.pptx
nose tajweed for the arabic alphabets for the responsive
Tablets And Capsule Preformulation Of Paracetamol

Greedy Algorithm

  • 1. 1
  • 2. 2
  • 3. 3 INTRODUCTION GroupGroup 22 Name Roll No Rubina Mustafa 3 Hafiz Jawad Mansoor 25 Sajad Ul Haq 5 Umair 16 Rao Waqar Akram 17
  • 5. 5 A SHORT LIST OF CATEGORIES  Algorithm types we will consider include:  Simple recursive algorithms  Backtracking algorithms  Divide and conquer algorithms  Dynamic programming algorithms  Greedy algorithms  Branch and bound algorithms  Brute force algorithms  Randomized algorithms
  • 6. 6 OPTIMIZATION PROBLEMS  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
  • 7. 7 7
  • 8. 8 EXAMPLE: COUNTING MONEY  Suppose you want to count out a certain amount of money, using the fewest possible bills and coins  A greedy algorithm would do this would be: At each step, take the largest possible bill or coin that does not overshoot  Example: To make $6.39, you can choose:  a $5 bill  a $1 bill, to make $6  a 25¢ coin, to make $6.25  A 10¢ coin, to make $6.35  four 1¢ coins, to make $6.39  For US money, the greedy algorithm always gives the optimum solution
  • 9. 9
  • 11. 11 A SCHEDULING PROBLEM  You have to run nine jobs, with running times of 3, 5, 6, 10, 11, 14, 15, 18, and 20 minutes  You have three processors on which you can run these jobs  You decide to do the longest-running jobs first, on whatever processor is available  Time to completion: 18 + 11 + 6 = 35 minutes  This solution isn’t bad, but we might be able to do better 20 18 15 14 11 10 6 5 3P1 P2 P3
  • 12. 12 ANOTHER APPROACH  What would be the result if you ran the shortest job first?  Again, the running times are 3, 5, 6, 10, 11, 14, 15, 18, and 20 minutes  That wasn’t such a good idea; time to completion is now 6 + 14 + 20 = 40 minutes  Note, however, that the greedy algorithm itself is fast  All we had to do at each stage was pick the minimum or maximum 20 18 15 14 11 10 6 5 3P1 P2 P3
  • 13. 13 AN OPTIMUM SOLUTION  Better solutions do exist:  This solution is clearly optimal (why?)  Clearly, there are other optimal solutions (why?)  How do we find such a solution?  One way: Try all possible assignments of jobs to processors  Unfortunately, this approach can take exponential time 20 18 15 14 11 10 6 5 3 P1 P2 P3
  • 14. 14 HUFFMAN ENCODING  The Huffman encoding algorithm is a greedy algorithm  You always pick the two smallest numbers to combine  Average bits/char: 0.22*2 + 0.12*3 + 0.24*2 + 0.06*4 + 0.27*2 + 0.09*4 = 2.42  The Huffman algorithm finds an optimal solution 22 12 24 6 27 9 A B C D E F 15 27 46 54 100 A=00 B=100 C=01 D=1010 E=11 F=1011
  • 15. 15 MINIMUM SPANNING TREE  A minimum spanning tree is a least-cost subset of the edges of a graph that connects all the nodes  Start by picking any node and adding it to the tree  Repeatedly: Pick any least-cost edge from a node in the tree to a node not in the tree, and add the edge and new node to the tree  Stop when all nodes have been added to the tree  The result is a least-cost (3+3+2+2+2=12) spanning tree  If you think some other edge should be in the spanning tree:  Try adding that edge  Note that the edge is part of a cycle  To break the cycle, you must remove the edge with the greatest cost  This will be the edge you just added 1 2 3 4 5 6 3 3 3 3 2 2 2 4 4 4
  • 16. 16 TRAVELING SALESMAN  A salesman must visit every city (starting from city A), and wants to cover the least possible distance  He can revisit a city (and reuse a road) if necessary  He does this by using a greedy algorithm: He goes to the next nearest city from wherever he is  From A he goes to B  From B he goes to D  This is not going to result in a shortest path!  The best result he can get now will be ABDBCE, at a cost of 16  An actual least-cost path from A is ADBCE, at a cost of 14 E A B C D 2 3 3 4 4 4
  • 17. 17 OTHER GREEDY ALGORITHMS  Dijkstra’s algorithm for finding the shortest path in a graph  Always takes the shortest edge connecting a known node to an unknown node  Kruskal’s algorithm for finding a minimum-cost spanning tree  Always tries the lowest-cost remaining edge  Prim’s algorithm for finding a minimum-cost spanning tree  Always takes the lowest-cost edge between nodes in the spanning tree and nodes not yet in the spanning tree
  • 18. 18 PSEOUDOCODE  Begin  Greedy(input I)  while (solution is not complete) do  Select the best element x in the  remaining input I;  Put x next in the output;  Remove x from the remaining input;  Endwhile  End
  • 19. 19 ALGORITHM  MAKE-CHANGE (n)         C ← {100, 25, 10, 5, 1}     // constant.         Sol ← {};                         // set that will hold the solution set.         Sum ← 0 sum of item in solution set         WHILE sum != n             x = largest item in set C such that sum + x ≤ n             IF no such item THEN                 RETURN    "No Solution"             S ← S {value of x}             sum ← sum + x         RETURN S 19
  • 20. 20 CONNECTING WIRES  There are n white dots and n black dots, equally spaced, in a line  You want to connect each white dot with some one black dot, with a minimum total length of “wire”  Example:  Total wire length above is 1 + 1 + 1 + 5 = 8  Do you see a greedy algorithm for doing this?  Does the algorithm guarantee an optimal solution?  Can you prove it?  Can you find a counterexample?
  • 21. 21 COLLECTING COINS  A checkerboard has a certain number of coins on it  A robot starts in the upper-left corner, and walks to the bottom left-hand corner  The robot can only move in two directions: right and down  The robot collects coins as it goes  You want to collect all the coins using the minimum number of robots  Example:  Do you see a greedy algorithm for doing this?  Does the algorithm guarantee an optimal solution?  Can you prove it?  Can you find a counterexample?
  • 22. 22