더북(TheBook)

이러한 관점에서 보면 알고리즘이 O(1)이든 O(3)이든 별로 중요하지 않다. 두 알고리즘 모두 데이터 증가에 영향을 받지 않는, 즉 단계 수가 변하지 않는 유형이므로 본질적으로 같은 알고리즘 유형이다. 둘 다 데이터에 관계 없이 단계 수가 일정한 알고리즘이므로 둘을 구분할 이유가 없다.

반면 O(N) 알고리즘은 유형이 다르다. 데이터 증가가 성능에 영향을 미친다. 보다 구체적으로 말하면 데이터가 늘어날 때 정확히 그 데이터에 비례해 단계 수가 증가하는 알고리즘 유형이다. 이것이 O(N)이 말하려는 내용이다. 알고리즘의 효율성과 데이터가 비례 관계임을(비례함을) 알린다. 데이터가 증가할 때 단계 수가 정확히 어떻게 증가하는지 설명한다.

두 알고리즘 유형을 그래프로 나타낸 것을 살펴보자.

▲ 그림 3-1

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