✔ 목차
- 탐욕법(Greedy Algorithm)이란?
- 탐욕법 적용 조건
- 탐욕법 예시
🔎 탐욕법(Greedy Algorithm)이란?
Greedy는 탐욕스러운, 욕심 많은이라는 뜻이다. 뜻에서 알 수 있듯이 이 알고리즘은 탐욕스럽게 가장 좋은 것만 선택하여 해결해나간다.
탐욕법(Greedy Algorithm)
- 각 단계마다 가장 좋은 것만 선택하여 해답을 구함
- 지금 선택이 앞으로 남은 선택에 어떤 영향을 끼칠지 고려하지 않음
- 단계마다 하는 선택은 지역적으로 최선이지만, 모든 단계를 거쳐 최종적(전역적)으로 나온 해답은 최적이란 보장은 없음
- 탐욕법을 적용하기 위해서 지역적으로 최적이면서 전역적으로 최적이어야함
🔎 탐욕법 적용 조건
1) 탐욕스런 선택 조건(greedy choice property)
- 앞의 선택이 이후 선택에 영향을 주지 않음
- 각 단계에서 가장 좋은 것을 선택하는 행위가 최적해로 가는 길
2) 최적 부분 구조 조건(optimal substructure)
- 문제의 최적해가 부분 문제에서도 최적해
- 전체 문제 안에 여러 단계가 있고, 모든 여러 단계에서 최적해가 도출되어야 함
📌 탐욕법 예시
탐욕법을 사용한 대표적인 알고리즘: 최소 신장 트리 구하기
📝 최소 신장 트리
📝 최소 신장 트리 구하는 알고리즘
크루스칼 알고리즘
프림 알고리즘