더북(TheBook)

선형 검색에 해당하는 선을 보면 배열에 원소가 많아질수록 그에 비례해 검색에 걸리는 단계 수도 늘어난다. 기본적으로 배열에 원소 하나가 늘어날 때마다 선형 검색에는 1단계가 더 걸린다. 그래서 대각선 형태의 직선이 만들어진다.

이와 달리 이진 검색을 보면 데이터가 많아질수록 알고리즘의 단계 수는 아주 조금씩만 늘어난다. 앞서 배운 내용, 즉 이진 검색이 한 단계 늘어나려면 데이터 크기를 두 배로 늘려야 한다는 사실에 완벽히 부합한다.

정렬된 배열이 모든 상황에서 빠른 것은 아니다. 앞서 봤듯이 정렬된 배열의 삽입은 일반 배열보다 느리다. 하지만 장단점이 있다. 정렬된 배열을 사용하면 삽입은 다소 느리지만, 검색은 훨씬 빠르다. 다시 한번 말하지만, 사용자의 애플리케이션에 어떤 구조가 더 좋은지 알려면 항상 분석하고 있어야 한다. 소프트웨어에서 삽입이 자주 일어나는가? 검색이 개발 중인 앱의 중대한 기능인가?

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