time Complexity

func do(array: [Int]) {
	let a = array -> c1
	for item in array { -> c2
		print(item) -> c3
	}
}

T(N) = (c1 * 1) + (c2 * N) + (c3 * N) = (c2 + c3)N + c1

코드가 실행되는 수

N 이 작으면 사실 시간 복잡도는 필요 없음

N 이 무한으로 가면

최고 차항만 중요하게 된다.

따라서 세타(N) = N

case

베스트 케이스(오메가)와 워스트 케이스(빅오)가 있기 때문에

빅오 - 아무리 느려도 이거 안에 해결된다.

순서

O(1) < O(logN) < O(N) < O(NlogN) < O(N^2) < O(2^N) < O(N!)