- 빅-오메가 : 최선일 때
- 빅-세타 : 보통일 때
- 📍 빅-오 O(n) : 최악일 때
import random
findNumber = random.randrange(1,101) # 1~100 사이 랜덤값 생성
for i in range(1, 101):
if i == findNumber:
print(i)
break
# 빅-오메가 : 시간복잡도 1번
# 빅-세타 : 시간복잡도 N/2번 = 50번
# 빅-오 : 시간복잡도 N번 = 100번
코딩테스트에서는 빅-오 표기법(O(n)) 기준으로 수행 시간 계산하는 것이 좋다.
연산 횟수는 1초에 2,000만 번 기준
시간 복잡도는 항상 최악, 즉 데이터의 크기가 가장 클 때를 기준
N = 100000
cnt = 1
for i in range(N):
print("연산횟수" + str(cnt))
cnt += 1
N = 100000
cnt = 1
for i in range(N):
print("연산횟수" + str(cnt))
cnt += 1
for i in range(N):
print("연산횟수" + str(cnt))
cnt += 1
for i in range(N):
print("연산횟수" + str(cnt))
cnt += 1
위 두 코드는 같은 시간복잡도를 갖는다.
3N의 상수인 3을 무시하는 O(n)으로 같다.
for i in range(N):
for j in range(N):
print("연산 횟수 " + str(cnt))
cnt += 1