Greedy Algorithm

Greedy Algorithm


Greedy Algorithm vs Dynamic Programming

Greedy Approach

  1. Selection procedure : 현재 상태에서 최선의 해답을 선택한다.
  2. Feasibility Check : 선택된 해가 문제의 조건을 만족하는지 확인한다.
  3. Solution Check : 원래 문제가 해결되었는지 검사하고, 해결되지 않았다면 1~3을 반복한다.

Spanning Tree(신장 트리)


Minimum Spanning Tree

0-1 Knapsack Problem


도둑이 보석 가게에 가방을 들고 물건을 훔치러 침입했다. 각각의 보석은 무게와 가격을 가지며, 가방은 최대 용량 W를 초과하면 터진다. 도둑이 가방의 최대 용량을 초과하지 않으면서 최대한 많은 보석을 훔쳐가려면 어떻게 해야 하는가?

Brute Fore Solution

Greedy Solution