You are on page 1of 10

2 장 점화식과 점근적 복잡도

분석

□ 점화식의 이해

□ 점화식의 점근적 분석 방법
점화식의 이해
▨ 점화식
 어떤 함수를 자신보다 더 작은 변수에 대한 함수와의 관계로 표현한 것
 자기 자신을 호출하는 재귀적 성질을 포함하는 경우에 적절

 예

an = an-1 + 2  등차 수열
f (n) = n f (n−1)  팩토리얼 (factorial)
f (n) = f (n−1) + f (n−2)  피보나치 수열 (fibonacci)
f (n) = f (n/2) + n  ???

- 2/10 -
점화식의 이해
▨ 병합 정렬의 수행 시간

 (p + q)/2

수행시간의 점화식 : T (n) = 2T (n/2) + 오버헤드 (=


n)
크기가 n 인 병합정렬 시간은 크기가 n/2 인 병합정렬을 두 번 정렬하
는 시간과 나머지 오버헤드를 더한 시간이다

- 3/10 -
점화식의 점근적 분석 방법
▨ 반복대치
 경계 조건을 만날 때까지 더 작은 문제에 대한 함수를 반복해서 대치해 나가는 해법

▨ 추정후 증명
 결론을 추정하고 수학적 귀납법을 이용하여 증명하는 방법

▨ 마스터 정리
 형식에 맞는 점화식의 복잡도를 바로 알 수 있는 정리

- 4/10 -
점화식의 점근적 분석 방법
▨ 반복대치
 n! 계산 알고리즘
T(n) : n! 를 구하는데 소요되는 시간

factorial(n)
따라서 , T(n) = O(n)

{ - 5/10 -
점화식의 점근적 분석 방법
▨ 반복대치
 오버헤드가 “ n” 에 관한 함수인 경우의 예

- 6/10 -
점화식의 점근적 분석 방법
▨ 추정 후 증명
 병합 정렬의 실행 시간 증명

이를 만족하는 c 가 존재한다

- 7/10 -
점화식의 점근적 분석 방법
▨ 마스터 정리
 T(n) = a T(n /b) + f (n) 와 같은 모양을 가진 점화식은 마스터 정리
에 의해 바로 결과를 알 수 있다
 n log a = h(n) 이라 하자
b

- 8/10 -
점화식의 점근적 분석 방법
▨ 마스터 정리의 적용 예

- 9/10 -
요약
▨ 2 장 점화식과 점근적 복잡도 분석을 통해
 수행시간 함수가 가지는 재귀적 성질과 점화식의 관계
 수행시간 분석의 핵심 기법으로서의 점근적 분석법 중
 반복 대치법과
 수학적 귀납법을 이용한 추정 후 증명법
 마스터 정리에 입각한 자동 계산법

등에 대하여 학습하였습니다 .

▨ 3 장 정렬에서는
 정렬의 개념
 기초적인 정렬 알고리즘 – 선택 , 버블 , 삽입
 고급 정렬 알고리즘 – 병합 , 퀵 , 힙
 특수 정렬 알고리즘 – 기수 , 계수
 및 정렬 시간 복잡도 분석

등에 대하여 학습할 계획입니다 .

- 10/10 -

You might also like