그리디 알고리즘(Greedy Algorithm)은 최적화 문제를 해결하는 알고리즘으로, 각 단계마다 가장 최선의 선택을 하는 방식으로 동작합니다.
이 알고리즘은 최적해를 보장하지는 않지만, 일부 문제에서는 최종적 해답을 구할 수 있는 간단하고 효과적인 방법이 될 수 있습니다.
보통 그리디 알고리즘은 다음과 같은 구성으로 이루어집니다:
그리디 알고리즘을 사용할 수 있는 대표적인 문제로는 다익스트라 알고리즘, 크루스칼 알고리즘, 프림 알고리즘이 있습니다.
탐욕 알고리즘을 적용해 해결하기 위해서는 문제는 다음 2가지 조건을 성립하여야 한다.
탐욕 알고리즘은 항상 최적의 결과를 도출하는 것은 아니지만, 어느 정도 최적에 근사한 값을 빠르게 도출할 수 있는 장점이 있습니다. 이 장점으로 인해 탐욕 알고리즘은 근사 알고리즘으로 사용할 수 있습니다.