더북(TheBook)

빅 오 표기법은 알고리즘의 효율성을 표현하는 훌륭한 도구이다. 앞에서 이미 빅 오 표기법을 사용해 이진 검색과 선형 검색 간 차이점을 정량화해봤다. 이진 검색이 O(logN)이므로 O(N)인 선형 검색보다 훨씬 빠른 알고리즘이라할 수 있다.

빅 오를 사용하면 내가 만든 알고리즘과 세상에 존재하는 범용 알고리즘을 비교할 기회가 생기며 “이 알고리즘이 일반적으로 쓰이는 알고리즘만큼 빠른가 혹은 느린가?”라고 자문해 볼 수 있다.

빅 오에서 내가 만든 알고리즘을 “느린” 알고리즘이라고 꼬리표를 붙였다면 한 발짝 뒤로 물러나서 더 빠른 빅 오 카테고리에 들어갈 수 있게 최적화하는 방법을 찾아볼 수 있다. 물론 항상 가능한 것은 아니지만, 불가능하다고 결론 내리기 전에 꼭 생각해 볼 만한 가치가 있다.

4장에서는 현실적인 문제를 푸는 코드를 작성해 보고, 빅 오를 사용해 작성한 알고리즘을 평가해 보겠다. 이어서 효율성을 높이기 위해 알고리즘을 수정할 수 있는지 알아보겠다(미리 귀뜸해 주면 가능하다).

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