더북(TheBook)

그래프로 볼 수 있듯이 원소가 100개 이하인 데이터 세트에서는 100단계가 걸리는 O(1) 알고리즘보다 O(N) 알고리즘이 단계 수가 적다. 두 선이 교차하는 원소가 정확히 100개인 지점에서는 두 알고리즘에 동일하게 100단계가 걸린다. 하지만 핵심은 이렇다. 100보다 큰 모든 배열에서는 O(N) 알고리즘에 더 많은 단계가 걸린다.

변화가 생기는 일정량의 데이터가 항상 있을 것이고 O(N)은 그 순간부터 무한대까지 더 많은 단계가 걸리므로 O(1) 알고리즘에 실제로 몇 단계가 걸리든 O(N)이 전반적으로 O(1)보다 덜 효율적이라 할 수 있다.

항상 백만 단계가 걸리는 O(1) 알고리즘이라도 마찬가지다. 데이터가 증가할수록 O(N)이 O(1)보다 덜 효율적인 어떤 지점에 반드시 다다르게 되며, 이 지점부터 데이터 양이 무한대로 갈 때까지 바뀌지 않는다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.