Daily iOS
CS 기초·알고리즘

탐색 알고리즘 선택

연락처 1만 명 목록에서 이름으로 검색하는 기능을 만듭니다. 순차 검색과 '정렬 후 이진 탐색'은 성능이 어떻게 다르고, 실제 앱에서는 어떤 구조를 쓰겠습니까?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

순차 O(n), 이진 탐색 O(log n)이지만 정렬 비용 O(n log n)이 먼저 든다. 정확 일치는 Dictionary, 접두어는 정렬 배열의 lower bound, 부분 일치는 로컬 DB 인덱스나 사전 계산한 토큰 역색인이 낫다.

받은 질문 공유