What is Greedy Algorithm? 그리드 알고리즘을 알아보자.
Greedy Algorithm
최적해를 구하는 데 사용하는 근시안적인 방법. 매 선택에서 지금 이순간 최적의 답을 계속 선택하여 결과를 도출하는것을 말한다.
거스름돈 줄이기
500원 100원 50원 10원 동전이 있다. 고객이 3800원 금액을 구매하고, 5천원을 받았을때 최소한의 동전수로 거스름돈을 주려고 한다.
500원선택 ->500원선택 ->100원선택 ->100원선택 (총 1200원)
500원 400원 100원 50원 10원 동전이 있다. 고객이 3800원 금액을 구매하고, 5천원을 받았을때 최소한의 동전수로 거스름돈을 주려고 한다.
500원선택 ->500원선택 ->100원선택 ->100원선택 (총 1200원)
전체적으로 봤을때는 400원짜리 동전 3개만 주면 동전 3개로 거스름돈을 줄 수 있다.(최적의 선택)
400원선택 ->400원선택 ->400원선택 (총 1200원)
경로 탐색

- 그리디 알고리즘을 통해 1에서 7로 이동하고자 한다.

- 1번노드에서 가장 비용이 적게드는 간선을 통해 이동한다.
비용이 1이 발생하는
2번 노드로 이동한다.

- 비용이 3이 발생하는
4번 노드로 이동한다.

- 비용이 2이 발생하는
3번 노드로 이동한다. - 비용이 4이 발생하는
5번 노드로 이동한다. - 비용이 1이 발생하는
7번 노드로 이동한다.
그리디 알고리즘을 통해 경로를 선택한 결과
1번노드->2번노드->4번노드->3번노드->5번노드->7번노드

- 하지만 전체적으로 봤을때는
1번노드->2번노드->4번노드->7번노드가 최종적으로 최적의 경로이다.