정리정돈

그리디(Greedy) 본문

알고리즘/개념

그리디(Greedy)

XZXXZX 2022. 3. 10. 15:45
728x90
반응형

그리디 알고리즘은 탐욕법이라고도 한다. 탐욕적으로 문제를 푸는 알고리즘이다. 탐욕적이라는 말은 '현재 상황에서 지금 당장 좋은 것만 고르는 방법'을 말한다. 그리디 알고리즘을 이용하면 매 순간 가장 좋아 보이는 것을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않는다.

 

그리디 알고리즘은 보통 사전에 외우고 있지 않아도 풀 수 있을 가능성이 높은 문제 유형이다.

 

그리디 알고리즘은 기준에 따라 좋은 것을 선택하는 알고리즘이므로 문제에서 '가장 큰 순서대로', '가장 작은 순서대로'와 같은 기준을 알게 모르게 제시해 준다. 대체로 정렬 알고리즘을 사용했을 때 만족시킬 수 있으므로 그리디 알고리즘 문제는 자주 정렬 알고리즘과 짝을 이뤄 출제된다. 

그리디 알고리즘의 정당성

그리디 알고리즘을 모든 알고리즘 문제에 적용할 수 있는 것은 아니다. 대부분의 문제는 그리디 알고리즘을 이용했을 때 '최적의 해'를 찾을 수 없을 가능성이 다분하다. 하지만 탐욕적으로 문제에 접근했을 때 정확한 답을 찾을 수 있다는 보장이 있을 때는 매우 효과적이고 직관적이다.

그리디 알고리즘으로 문제의 해법을 찾았을 떄는 그 해법이 정당한지 검토해야 한다. 대부분의 그리디 알고리즘 문제에서는 문제 풀이를 위한 최소한의 아이디어를 떠올리고 이것이 정당한지 검토할 수 있어야 답을 도출할 수 있다.

 

728x90
반응형

'알고리즘 > 개념' 카테고리의 다른 글

투포인터(Two Pointers)  (0) 2022.03.24
최단경로  (0) 2022.03.24
다이나믹 프로그래밍(DP)  (0) 2021.06.06
스택(Stack)과 큐(Queue)  (0) 2021.05.30
트리 자료구조  (0) 2021.05.24