Everything About ___
Live briefing

Everything about Greedy algorithm

Sequence of locally optimal choices

A greedy algorithm is an algorithm which, at each step, makes the choice that is locally optimal, and subsequently does not reconsider past choices. Greedy algorithms are often used to solve combinatorial optimization problems. If an optimization problem only depends on the partial solution of solving it for one subproblem, we can solve this problem by "greedily" considering only the locally optimal subproblem. In this sense, a greedy algorithm is a special case of a dynamic programming algorithm. Uriel Feige notes that:[Greedy algorithms] may be viewed as the ultimate form of dynamic programming, in which only one partial solution is maintained. The problem needs to have much more structure for this approach to work. Wikipedia →

🧭 Start here: a 6-step reading path

  1. Read the overview: Greedy algorithmA 5-minute orientation
  2. Skim a recent paper: Greedy opposition-based learning for chimp optimization algorithmInfluential work since 2022
  3. Pick up a classic book: Introduction to AlgorithmsThe most-reprinted book on the subject
  4. Read the landmark paper: A Greedy Algorithm for Aligning DNA SequencesCited 4,572 times
  5. Go sideways: Welfare maximizationA closely related topic
  6. Go sideways: Combinatorial optimizationA closely related topic

📖 Definitions

Noun Any algorithm that follows the problem-solving heuristic of making the locally optimal choice at each stage.

🏆 Landmark papers (most cited)

🆕 Influential since 2022

📚 Books worth reading

Ranked by number of editions on Open Library, a rough measure of how lasting a book is.

🔗 Related topics