점근적 복잡도 분석

12
점점점 점점점 점점 [DevRookie] 꽝꽝꽝꽝

Upload: young-jun-jeong

Post on 25-May-2015

1.833 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 점근적 복잡도 분석

점근적 복잡도 분석[DevRookie] 꽝매니아

Page 2: 점근적 복잡도 분석

차 례

알고리즘 성능에 대하여 알고리즘 수행시간의 분석 점근 표기법 Big-O 표기법 Big-Omega 표기법 Big-Theta 표기법 Small-o 표기법 Small-Omega 표기법 마스터 정리

Page 3: 점근적 복잡도 분석

알고리즘의 성능에 대하여

어떻게 해결할 것인가 ? 해결할 수 있는 다양한 방법들이 존재한다 . 어떤 방법을 통해 해결해야 더 빠르고

정확하게 알 수 있을까 ? 정확성 : 정확하게 동작하는가 ? 작업량 : 얼마나 적은 연산 ?메모리 사용량 : 얼마나 적은 사용 공간 ? 단순성 : 단순한 정도 ? 최적성 : 더 이상 개선할 여지가 없는 만큼 ?

Page 4: 점근적 복잡도 분석

알고리즘 수행시간의 분석

물리적 측정 방법으로는 성능비교하기 어렵다 . 계산 성능에 관계없이 명확하게 정의할 수

있음을 바탕으로 비교 , 예측 최악의 경우 평균의 경우최선의 경우

Page 5: 점근적 복잡도 분석

점근적 표기법

점근적 : 점점 가까워 지다 .

소규모 횟수로는 극명한 차이를 나타내지 못한다 .

값이 클수록 큰 차이를 보여준다 .

증가율에 따라 변화되는 양을 표기

알고리즘 수행시간에 대한 복잡도 계산

Page 6: 점근적 복잡도 분석

Big-O 표기법

이보다 더 나쁠수는 없다 !( 점근적 상한 )

최악의 수행시간이 될 수 있는 가능성 판단

주로 사용되는 표기법

Page 7: 점근적 복잡도 분석

Big-Omega 표기법

이보다 더 좋을 순 없다 !( 점근적 하한 )

Page 8: 점근적 복잡도 분석

Big-theta 표기법

O(g(n)) 과 Omega(g(n)) 을 동시에 성립하는 모든 함수의 집합

Page 9: 점근적 복잡도 분석

Small-o 표기법

함수의 증가율이 점근적 의미에서 ‘더 작다’ 여유있는 상한

Page 10: 점근적 복잡도 분석

Small-Omega 표기법

함수의 증가율이 점근적 의미에서 ‘더 작다’ 여유있는 하한

Page 11: 점근적 복잡도 분석

마스터 정리

특정 형태의 재귀식에 대해 복잡도 결과를 간단하게 계산할 수 있는 방법

해당 유형에 맞는 점화식으로 정리 내용이 복잡한 관계로 교제 내용 참고 .

Page 12: 점근적 복잡도 분석

결론 .

알고리즘 선택을 위해 필요한 기반 지식

복잡한 정도의 근사치를 구해 본다 .

왜 Big-O 표기법을 자주 사용하는가 ?