수행시간

  • 최악의 경우의 입력에 대한 기본 연산 횟수

시간 복잡도(time complexity)

  • 측정방법:

    • 모든 입력에 대해 기본연산횟수 더한 후 평균 ->불가능에 가까움..

    • 가장 안 좋은 입력(worst case input)에 대한 기본 연산 횟수를 측정

      image

Big-O

-> 최고차항으로만 간단하게 증가율 표기

-방법

1) 함수의 최고차항만 남긴다

2) 최고차항 계수(상수) 생략

3) Big-O(최고차항) 형태로

Ex) Algorithm1: T1(n)=2n-1 Algortihm2: T2(n)=4n+1 Algorithm3: T3(n)=3/2n^2-3/2n+1

image

  • Big-O표시

    -> T1(n)=O(n) T2(n)=O(n) T3(n)=O(n^2)

Q.

​ 1) Algorithm2가 Algorithm1보다 2배 느리다 : O (계수로 확인 가능)

​ 2) Algorithm3는 n<5/3면 Algorithm2보다 빠르다 : O

​ 모든 n에 대해 Algorithm 1보다 느리다 : O

​ 3) Algorithm3는 n>5/3면 항상 Algorithm2보다 느리다 : O

-집합으로 이해해보기

image

-연습문제

image

​ A. T(n): 3n/2

Big-O: O(n)

image

image

A. T(n): 1 + n^2(4log n)

Big-O: O(n^2log n)

image

A. T(n): 2 + 4n^0.5

Big-O: O(n^(0.5)) = O(sqrt(n))

image

A. T(n): 2 + 4log n

Big-O: O(log n)

image

image

image