Greedy Algorithms are one of the most intuitive algorithms. Whenever we see a problem we first try to apply some greedy strategy to get the answer(we humans are greedy, aren't we :P ?). Greedy approaches are quite simple and easy to understand/formulate.But many times the proving part might be difficult.
• Greedy Algorithm always makes the choice that looks best at the moment.
• You hope that by choosing a local optimum ateach step, you will end up at a global optimum.