일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 디자인패턴
- 백준
- I/O장치
- 프로그래머스
- DirectX 12
- 운영체제
- 파일시스템 구현
- 알고리즘
- 병행성
- 스케줄링
- 병행성 관련 오류
- 동적계획법
- OS
- directx
- 락
- 그리디알고리즘
- 다이나믹 프로그래밍
- DirectX12
- codility
- 렌더링 파이프라인
- Direct12
- 자료구조
- 멀티쓰레드
- 영속성
- 다이나믹프로그래밍
- 컨디션 변수
- 타입 객체
- 그리디 알고리즘
- 멀티프로세서
- 쓰레드
Archives
- Today
- Total
기록공간
그리디 알고리즘 (Greedy Algorithm) 본문
반응형
그리디 알고리즘은 탐욕 알고리즘이라고도 불린다. 그리디 알고리즘은 커다란 문제를 해결하기 위해 여러 단계를 나누어 해결하는 알고리즘의 하나이다.
여러 경우 중 하나를 결정해야 할 때마다 그 순간의 최적이라고 생각되는 것을 선택해 나가는 알고리즘이다.
하지만 그리디 알고리즘을 적용할 수 있는 예는 많지 않다. 코딩이 쉽고, 구현이 쉬운건 사실이지만, 그리디 알고리즘으로 구한게 항상 최적을 보장하는 경우는 거의 없기 때문이다. 만약에 사탕을 당장 받으면 1개만 받지만, 1분을 기다리면 2개를 받을 수 있다고 하자. 이런 경우 그리디 알고리즘을 사용하면 사탕을 1개 받는 것을 선택한다. 그래서 보통 '근사치 추정'을 위해 그리디 알고리즘을 사용한다.
적용 가능한 예
Prim Algorithm, Kruskal Algorithm, Dijkstra Algorith, Task Scheduling Problem, 거스름돈 나누기 등
반응형
'Algorithm > 이론' 카테고리의 다른 글
크러스컬 알고리즘 (Kruskal Algorithm) (0) | 2020.06.17 |
---|---|
최장증가수열 - LIS(Longest Increasing Subsequence) (0) | 2020.02.17 |
동적계획법(Dynamic Programming) (0) | 2020.02.17 |
너비 우선 탐색 (BFS) (0) | 2020.02.09 |
깊이 우선 탐색 (DFS) (0) | 2020.02.09 |
Comments