picking local best at each step gives global best solution
a greedy algorithm builds up a solution by choosing the option that looks the best at every step.
at each step, the algorithm makes the choice that seems like the best one at the moment