해당 자료는 유튜브 신찬수 한국외대 교수님 강의를 시청하며 정리했습니다. 🙏🏻
T1(n), T2(n)은 n에 대해 선형적으로 증가. 최고차항이 1차항
T3(n)은 n에 대해 제곱으로 증가. 최고차항이 n의 2제곱
n에 대한 최고차항 = 단위 시간의 증가율을 결정
함수 값을 결정하는 최고차항만으로 간단하게 표기
T1(n) = 2n-1 => T1(n) = O(n)
T2(n) = 4n+1 => T2(n) = O(n)
T3(n) = 3/2n2-3/2n+1 => T3(n) = O(n^2)
T1(n) = O(n)
T2(n) = O(n)
위 두 함수는 O(n) 집합 안에 들어있는 것으로 보면 된다.
즉,
T1(n) ∈ O(n)
T2(n) ∈ O(n)
def increment_one(a):
return a + 1
T1(n) = 1
=> 0(n^0)
=> O(1)
def number_of_bits(n):
count = 0
while n > 0 :
n = n // 2
count += 1
return count
n/2^count = 1
n = 2^count
10g2n = count
즉 while문 log2n번 실행
T(n) =C log2n + 1
=> O(log2n)