반응형

배낭문제 2

7강. 그리디 알고리즘

7. 그리디 알고리즘7.1 그리디 알고리즘의 개념그리디 알고리즘(Greedy Algorithm)그리디 알고리즘은 현재 상황에서 가장 좋아 보이는 선택을 반복적으로 해 나가면서 최적해를 찾아가는 알고리즘입니다. 이 알고리즘은 각 단계에서 최선의 선택을 하는 것이 전체 문제에 대한 최적해를 보장한다는 전제하에 작동합니다.그리디 알고리즘의 시간 복잡도는 일반적으로 문제의 구조에 따라 달라집니다. 예를 들어, 선택 정렬은 \(O(n^2)\)의 시간 복잡도를 가지지만, 동전 교환 문제는 \(O(n)\) 또는 \(O(\log n)\)의 시간 복잡도를 가질 수 있습니다.그리디 알고리즘은 주로 최단 경로, 최소 신장 트리, 작업 스케줄링 문제 등에서 많이 사용됩니다.그리디 알고리즘의 역사는 1950년대와 1960년대에..

6강. 동적 계획법과 분할 정복

6. 동적 계획법과 분할 정복6.1 동적 계획법의 기초동적 계획법(Dynamic Programming)동적 계획법은 1950년대에 리처드 벨먼(Richard Bellman)이 개발한 알고리즘 기법으로, 복잡한 문제를 작은 하위 문제로 나누어 해결하는 방법입니다. 하위 문제의 해결 결과를 저장하여 같은 문제를 반복해서 풀지 않도록 하여 효율성을 높입니다.동적 계획법의 시간 복잡도:- 동적 계획법의 시간 복잡도는 일반적으로 문제의 크기와 하위 문제의 수에 따라 다르며, 중복 계산을 피하기 때문에 재귀적인 접근 방식보다 효율적입니다.동적 계획법은 주로 최적화 문제에서 사용되며, 예제 문제로는 피보나치 수열, 배낭 문제 등이 있습니다. 이 기법은 "한 번 계산한 것은 다시 계산하지 않는다"는 원칙을 따릅니다./..

반응형