1장과 2장에서는 알고리즘의 효율성을 결정하는 주된 요인이 알고리즘 수행에 필요한 단계 수임을 밝혔다.
하지만 단순히 어떤 알고리즘을 “22단계의 알고리즘”, 또 어떤 알고리즘을 “400단계의 알고리즘”이라 표시할 수는 없다. 알고리즘에 필요한 단계 수를 하나의 수로 못 박을 수 없기 때문이다. 선형 검색을 예로 들어 보자. 선형 검색에는 배열의 원소 수만큼의 단계가 필요하므로 배열에 따라 필요한 단계 수가 다르다. 원소가 22개인 배열은 22단계의 선형 검색이 필요하다. 하지만 원소가 400개인 배열은 선형 검색에도 400단계가 필요하다.
선형 검색의 효율성을 정량화하는 보다 효과적인 방법은 배열에 N개의 원소가 있을 때 선형 검색에 N단계가 필요하다고 표현하는 것이다. 하지만 이 방법은 다소 장황하다.
컴퓨터 과학자는 서로 간에 시간 복잡도를 쉽게 소통할 목적으로 자료 구조와 알고리즘의 효율성을 간결하고 일관된 언어로 설명하기 위해 수학적 개념을 차용했다. 이러한 개념을 형식화한 표현을 빅 오 표기법이라 부르며, 빅 오 표기법을 사용해 주어진 알고리즘의 효율성을 쉽게 분류하고 이해시킬 수 있다.
빅 오 표기법을 알면 일관되고 간결한 방법으로 어떤 알고리즘이든 분석할 수 있는 도구가 생긴 셈이다. 전문가 역시 빅 오 표기법을 사용한다.
빅 오 표기법은 수학에서 유래하지만 이 책은 수학 용어 없이 컴퓨터 과학과 연관 지어 설명한다. 먼저 매우 단순한 용어로 빅 오 표기법을 설명한 후, 3장과 이어지는 세 장에서 점진적으로 다듬어갈 것이다. 어려운 개념은 아니지만 여러 장에 걸쳐 나눠 설명하면 훨씬 쉽다.