- [[Set Cover Greedy Algorithm]]
## General
- these algorithms make the locally optimal choice at each step
- for certain problems this can yield a global optimum
- is really just a way to approach a problem, not really a data structure or algorithm, so not much to "learn" about it
- local means when it considers only the available options at the current step, ignoring potential future consequences
- implementing greedy algorithms are typically easy, hard part is proving it actually works
## Algorithm Questions
- most greedy problems will ask for the max or min of something (but not always)
- most of time involves you either sorting a list or using a heap
- a lot of algorithms involving [[Heaps]] are greedy, note that heaps give you the max or min element