빅-오메가
최선일 때(best case)의 연산 횟수를 나타낸 표기법
빅-세타
보통일 때(average case)의 연산 횟수를 나타낸 표기법
빅-오
최악일때(worst case)의 연산 횟수를 나타낸 표기법
import random
findNumber = random.randragne(1, 101)
for i in range(1, 101):
if i == findNumber:
print(i)
break
빅-오메가 표기법의 시간 복잡도는 1번
빅-세타 표기법의 시간 복잡도는 50번
빅-오 표기법의 시간 복잡도는 100번

버블 정렬의 시간 복잡도 : O(n^2)
병합 정렬의 시간 복잡도: O(nlogn)

연산 횟수 = 알고리즘 시간 복잡도 n값에 데이터의 최대 크기를 대입해 도출
- 상수는 시간 복잡도 계산에서 제외
- 가장 많이 중첩된 반복문의 횟수가 시간 복잡도의 기준이 됨.
예1:연산 횟수 N
n = 100,000
cnt = 1
for i in range(n):
cnt += 1
예2:연산 횟수 3N
n = 100,000
cnt = 1
for i in range(n):
cnt += 1
for i in range(n):
cnt += 1
for i in range(n):
cnt += 1
연산 횟수가 3배 차이나는 것 같지만 둘 다 O(n)의 시간 복잡도를 가짐
예3:연산 횟수 N^2
n = 100000
cnt = 1
for i in range(n):
for j in range(n):
cnt += 1
위 코드의 시간 복잡도는 O(n^2)