1. 그리디 알고리즘
① 그리디 알고리즘
- 현재 시점에서 가장 이득이 되어 보이는 해를 선택하는 행위를 반복함.
- 온전한 해가 만들어질 때까지 눈 앞에 가장 좋아 보이는 선택을 반복함.
- 뛰어난 결과를 도출하지 못하지만 드물게 최적해를 보장하는 경우도 있음.
- 동적 계획법과 마찬가지로 최적화 문제의 답을 얻기 위해 사용
② 그리디 알고리즘 잘 작동하는 문제
③ 동작 과정
1. 배낭 채우기 문제
① 문제
- 한 사람이 가지고 가는 배낭에 담을 수 있는 무게의 최대값이 정해져 있고, 일정 가치와 무게가 있는 짐들을 배낭에 넣을 때 가치의 합이 최대가 되도록 짐을 고르는 방법을 찾는 문제.
- 두가지 경우로 나누어짐
② 동적계획법과 그리디 알고리즘
③ 0-1 배낭 채우기 문제 -> 탐욕적 방법 사용불
3. 그리디 알고리즘 적용 예시
① 회의실 배정 문제
② 메트로이드
- 그리디 알고리즘으로 최적해가 보장되는 공간 구조
- 어떤 문제의 공간이 매트로이드 구조 가지면 그리디 알고리즘으로 최적해가 보장
'CS공부 > 학점은행_알고리즘' 카테고리의 다른 글
14-2 NP 완전 문제 (0) | 2023.09.17 |
---|---|
14-1 문자열 매칭 (0) | 2023.09.17 |
13-1 벨만-포드 알고리즘 (0) | 2023.09.13 |
12-2 플로이드 와샬 알고리즘 (0) | 2023.09.06 |
12-1 다익스트라 알고리즘 (1) | 2023.09.05 |