SlideShare a Scribd company logo
6
Most read
7
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

What's hot (20)

PPT
finding Min and max element from given array using divide & conquer
Swati Kulkarni Jaipurkar
 
PPT
Graph coloring problem
V.V.Vanniaperumal College for Women
 
PPTX
Travelling salesman dynamic programming
maharajdey
 
PPT
Greedy Algorihm
Muhammad Amjad Rana
 
PPTX
Activity selection problem
QAU ISLAMABAD,PAKISTAN
 
PPTX
Constraint satisfaction problems (csp)
Archana432045
 
PDF
Genetic Algorithms
Karthik Sankar
 
PPTX
Daa:Dynamic Programing
rupali_2bonde
 
PDF
Recursive algorithms
subhashchandra197
 
PPTX
daa-unit-3-greedy method
hodcsencet
 
PPTX
The n Queen Problem
Sukrit Gupta
 
PPT
Unit 1 chapter 1 Design and Analysis of Algorithms
P. Subathra Kishore, KAMARAJ College of Engineering and Technology, Madurai
 
PPTX
Complexity analysis in Algorithms
Daffodil International University
 
PPTX
Daa unit 1
Abhimanyu Mishra
 
PPT
BackTracking Algorithm: Technique and Examples
Fahim Ferdous
 
PPT
Randomized algorithms ver 1.0
Dr. C.V. Suresh Babu
 
PPT
Backtracking
Vikas Sharma
 
PPTX
Design and Analysis of Algorithms.pptx
Syed Zaid Irshad
 
PPTX
Traveling salesman problem
Jayesh Chauhan
 
PPTX
N queen problem
Ridhima Chowdhury
 
finding Min and max element from given array using divide & conquer
Swati Kulkarni Jaipurkar
 
Graph coloring problem
V.V.Vanniaperumal College for Women
 
Travelling salesman dynamic programming
maharajdey
 
Greedy Algorihm
Muhammad Amjad Rana
 
Activity selection problem
QAU ISLAMABAD,PAKISTAN
 
Constraint satisfaction problems (csp)
Archana432045
 
Genetic Algorithms
Karthik Sankar
 
Daa:Dynamic Programing
rupali_2bonde
 
Recursive algorithms
subhashchandra197
 
daa-unit-3-greedy method
hodcsencet
 
The n Queen Problem
Sukrit Gupta
 
Unit 1 chapter 1 Design and Analysis of Algorithms
P. Subathra Kishore, KAMARAJ College of Engineering and Technology, Madurai
 
Complexity analysis in Algorithms
Daffodil International University
 
Daa unit 1
Abhimanyu Mishra
 
BackTracking Algorithm: Technique and Examples
Fahim Ferdous
 
Randomized algorithms ver 1.0
Dr. C.V. Suresh Babu
 
Backtracking
Vikas Sharma
 
Design and Analysis of Algorithms.pptx
Syed Zaid Irshad
 
Traveling salesman problem
Jayesh Chauhan
 
N queen problem
Ridhima Chowdhury
 

Viewers also liked (20)

PPTX
Greedy algorithm
Caisar Oentoro
 
PPT
Greedy
koralverma
 
PPTX
Application of greedy method
Tech_MX
 
PPTX
Knapsack Problem
Jenny Galino
 
PPT
Greedymethod
Meenakshi Devi
 
PPS
Greedy Algorithms with examples' b-18298
LGS, GBHS&IC, University Of South-Asia, TARA-Technologies
 
PPT
Knapsack problem
Vikas Sharma
 
PPT
01 knapsack using backtracking
mandlapure
 
PPTX
Knapsack
Karthik Chetla
 
PPT
Knapsack Algorithm www.geekssay.com
Hemant Gautam
 
PPT
Lec30
Nikhil Chilwant
 
PPTX
Application of greedy method prim
Tech_MX
 
PPTX
Greedy Algorithm-Dijkstra's algo
Jay Patel
 
PPTX
Backtracking
subhradeep mitra
 
PDF
Greedy is Good
skku_npc
 
PDF
Maximum Flow
skku_npc
 
PPT
Chapter 17
ashish bansal
 
PDF
[ACM-ICPC] Bipartite Matching
Chih-Hsuan Kuo
 
PPTX
Branch and bound
Myrian Santos
 
PPT
lecture 26
sajinsc
 
Greedy algorithm
Caisar Oentoro
 
Greedy
koralverma
 
Application of greedy method
Tech_MX
 
Knapsack Problem
Jenny Galino
 
Greedymethod
Meenakshi Devi
 
Greedy Algorithms with examples' b-18298
LGS, GBHS&IC, University Of South-Asia, TARA-Technologies
 
Knapsack problem
Vikas Sharma
 
01 knapsack using backtracking
mandlapure
 
Knapsack
Karthik Chetla
 
Knapsack Algorithm www.geekssay.com
Hemant Gautam
 
Application of greedy method prim
Tech_MX
 
Greedy Algorithm-Dijkstra's algo
Jay Patel
 
Backtracking
subhradeep mitra
 
Greedy is Good
skku_npc
 
Maximum Flow
skku_npc
 
Chapter 17
ashish bansal
 
[ACM-ICPC] Bipartite Matching
Chih-Hsuan Kuo
 
Branch and bound
Myrian Santos
 
lecture 26
sajinsc
 
Ad

Similar to Greedy Algorithm (20)

PDF
A greedy algorithms
Amit Kumar Rathi
 
PPT
36 greedy
Ikram Khan
 
PPT
3 Greedy-lec.pptggggghhhhhhhyyyyyyyyyyyyyy
esraelman182
 
PPT
Greedy algorithm pptxe file for computer
kerimu1235
 
PDF
Lec07-Greedy Algorithms.pdf Lec07-Greedy Algorithms.pdf
MAJDABDALLAH3
 
PPTX
greedy algorithm.pptx good for understanding
HUSNAINAHMAD39
 
PPTX
Types of algorithms
Amelita Martinez
 
PPT
Algorithm types
JavariaIbrahim
 
PPT
32 algorithm-types
ashish bansal
 
PDF
Greedy Algorithms in Algorithms and Design
RameezWasif
 
PPT
35 algorithm-types
ashish bansal
 
PPT
algorithm-types.ppt
TusharSharma759024
 
PPT
35-algorithm-types.ppt
HarikumarRajandran1
 
PPT
35 algorithm-types
EducationalJunction
 
PPTX
CSA 2001 (Module-2).pptx
PranjalKhare13
 
PPT
ch09-04-14-14.ppt design and analysis of algorithms
ssuser99ca78
 
PPTX
Algo_Lecture01.pptx
ShaistaRiaz4
 
PPTX
Algorithm Design and Complexity - Course 5
Traian Rebedea
 
PPT
Greedy Algorithms Chapter for new students 4.ppt
AKBARABBAS11
 
PDF
Algorithms
suzzanj1990
 
A greedy algorithms
Amit Kumar Rathi
 
36 greedy
Ikram Khan
 
3 Greedy-lec.pptggggghhhhhhhyyyyyyyyyyyyyy
esraelman182
 
Greedy algorithm pptxe file for computer
kerimu1235
 
Lec07-Greedy Algorithms.pdf Lec07-Greedy Algorithms.pdf
MAJDABDALLAH3
 
greedy algorithm.pptx good for understanding
HUSNAINAHMAD39
 
Types of algorithms
Amelita Martinez
 
Algorithm types
JavariaIbrahim
 
32 algorithm-types
ashish bansal
 
Greedy Algorithms in Algorithms and Design
RameezWasif
 
35 algorithm-types
ashish bansal
 
algorithm-types.ppt
TusharSharma759024
 
35-algorithm-types.ppt
HarikumarRajandran1
 
35 algorithm-types
EducationalJunction
 
CSA 2001 (Module-2).pptx
PranjalKhare13
 
ch09-04-14-14.ppt design and analysis of algorithms
ssuser99ca78
 
Algo_Lecture01.pptx
ShaistaRiaz4
 
Algorithm Design and Complexity - Course 5
Traian Rebedea
 
Greedy Algorithms Chapter for new students 4.ppt
AKBARABBAS11
 
Algorithms
suzzanj1990
 
Ad

Recently uploaded (16)

PPTX
Presentationexpressions You are student leader and have just come from a stud...
BENSTARBEATZ
 
PPTX
2025-07-06 Abraham 06 (shared slides).pptx
Dale Wells
 
PPTX
Pastor Bob Stewart Acts 21 07 09 2025.pptx
FamilyWorshipCenterD
 
PPTX
BARRIERS TO EFFECTIVE COMMUNICATION.pptx
shraddham25
 
PDF
Leveraging the Power of Jira Dashboard.pdf
siddharthshukla742740
 
PPTX
AI presentation for everyone in every fields
dodinhkhai1
 
PPTX
Great-Books. Powerpoint presentation. files
tamayocrisgie
 
PPTX
Inspired by VeinSense: Supercharge Your Hackathon with Agentic AI
ShubhamSharma2528
 
PPTX
Food_and_Drink_Bahasa_Inggris_Kelas_5.pptx
debbystevani36
 
PDF
Generalization predition MOOCs - Conference presentation - eMOOCs 2025
pmmorenom01
 
PPTX
presentation on legal and regulatory action
raoharsh4122001
 
PPTX
some leadership theories MBA management.pptx
rkseo19
 
PDF
The Impact of Game Live Streaming on In-Game Purchases of Chinese Young Game ...
Shibaura Institute of Technology
 
PPTX
STURGEON BAY WI AG PPT JULY 6 2025.pptx
FamilyWorshipCenterD
 
PDF
The Family Secret (essence of loveliness)
Favour Biodun
 
PDF
Cloud Computing Service Availability.pdf
chakrirocky1
 
Presentationexpressions You are student leader and have just come from a stud...
BENSTARBEATZ
 
2025-07-06 Abraham 06 (shared slides).pptx
Dale Wells
 
Pastor Bob Stewart Acts 21 07 09 2025.pptx
FamilyWorshipCenterD
 
BARRIERS TO EFFECTIVE COMMUNICATION.pptx
shraddham25
 
Leveraging the Power of Jira Dashboard.pdf
siddharthshukla742740
 
AI presentation for everyone in every fields
dodinhkhai1
 
Great-Books. Powerpoint presentation. files
tamayocrisgie
 
Inspired by VeinSense: Supercharge Your Hackathon with Agentic AI
ShubhamSharma2528
 
Food_and_Drink_Bahasa_Inggris_Kelas_5.pptx
debbystevani36
 
Generalization predition MOOCs - Conference presentation - eMOOCs 2025
pmmorenom01
 
presentation on legal and regulatory action
raoharsh4122001
 
some leadership theories MBA management.pptx
rkseo19
 
The Impact of Game Live Streaming on In-Game Purchases of Chinese Young Game ...
Shibaura Institute of Technology
 
STURGEON BAY WI AG PPT JULY 6 2025.pptx
FamilyWorshipCenterD
 
The Family Secret (essence of loveliness)
Favour Biodun
 
Cloud Computing Service Availability.pdf
chakrirocky1
 

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