본문 바로가기
Algorithm

그리디 알고리즘

by Doromi 2019. 4. 28.
728x90
반응형

욕심쟁이 알고리즘

매 선택에서 지금 이 순간 최적인 답을 선택하여 적합한 결과를 도출하자 라는 모토를 가지는 알고리즘 설계 기법

 

 

 

예를 들어,
5개의 도시를 모두 한번씩만 거쳐서 여행하는 경로 중 기름값을 아끼기 위해 가능하면 짧은 경로를 이용하고 싶다.
이 문제를 해결하기 위해 몇가지 전략을 사용할 수 있다.


가능한 120가지의 조합을 모두 살펴봐서 그 중 가장 짧은 경로를 선택하는 것도 하나의 전략이 될 것이다.

 

그러한 다양한 방법 중, 그리디 알고리즘을 사용한다는 것은 "지금 내가 있는 도시에서 고를 수 있는 도로 중 가장 짧은 도로를 선택한다"라는 방법이 될 수 있다.

 



단, 그리디 알고리즘을 사용하면 매 선택이 그 순간에 대해서는 최적이지만 그걸 종합적으로 봤을 땐 최적이라는 보장은 절대 없다는 것.

매 순간 최적을 따라가서 1-1-1-100 이라는 순서로 길을 갔다면, 종합적으로는 1-1-10-10의 길로 가는 것이 더 짧은 길이 될 수 있다.

 

 다익스트라 알고리즘이나
MST(minimum spanning Tree)알고리즘을 구현할 때 사용할 수 있다.

728x90
반응형

'Algorithm' 카테고리의 다른 글

이진 탐색 vs 이진 탐색 트리  (0) 2019.04.30
최단 경로  (0) 2019.04.28
배낭 문제  (0) 2019.04.28
동적 계획법  (0) 2019.04.28
벨만 포드 알고리즘(The Bellman-Ford algorithm)  (0) 2019.04.28