Design and Analysis Greedy Method


Among all the algorithmic approaches, the simplest and straightforward approach is the Greedy method. In this approach, the decision is taken on the basis of current available information without worrying about the effect of the current decision in future.

Greedy algorithms build a solution part by part, choosing the next part in such a way, that it gives an immediate benefit. This approach never reconsiders the choices taken previously. This approach is mainly used to solve optimization problems. Greedy method is easy to implement and quite efficient in most of the cases. Hence, we can say that Greedy algorithm is an algorithmic paradigm based on heuristic that follows local optimal choice at each step with the hope of finding global optimal solution.

In many problems, it does not produce an optimal solution though it gives an approximate (near optimal) solution in a reasonable time.

Components of Greedy Algorithm

Greedy algorithms have the following five components −

  • A candidate set − A solution is created from this set.

  • A selection function − Used to choose the best candidate to be added to the solution.

  • A feasibility function − Used to determine whether a candidate can be used to contribute to the solution.

  • An objective function − Used to assign a value to a solution or a partial solution.

  • A solution function − Used to indicate whether a complete solution has been reached.

Areas of Application

Greedy approach is used to solve many problems, such as

  • Finding the shortest path between two vertices using Dijkstra’s algorithm.

  • Finding the minimal spanning tree in a graph using Prim’s /Kruskal’s algorithm, etc.

Where Greedy Approach Fails

In many problems, Greedy algorithm fails to find an optimal solution, moreover it may produce a worst solution. Problems like Travelling Salesman and Knapsack cannot be solved using this approach.

Useful Video Courses


Compiler Design Online Training

102 Lectures 10 hours

Arnab Chakraborty


Sequential Circuit Design

30 Lectures 3 hours

Arnab Chakraborty


Design Patterns Online Training

31 Lectures 4 hours

Arnab Chakraborty


InDesign Online Training

43 Lectures 1.5 hours

Manoj Kumar


Canva: Become a Graphic Designer

7 Lectures 1 hours

Zach Miller


The Ultimate Canva Graphic Design Course

54 Lectures 4 hours

Sasha Miller