더북(TheBook)

이 코드를 실행하면 다음 결과가 출력됩니다.

index : 2, data : 9

코드 8-1에서 이진 탐색 알고리즘을 수행하는 binary_search 함수는 정렬된 리스트와 찾고자 하는 데이터를 전달받고, 데이터를 찾으면 데이터가 있는 리스트의 인덱스를 반환하고 아니면 None을 반환합니다. for 문으로 일일이 모든 요소를 순회하며 데이터를 찾는다면 최악의 경우 O(n)이 걸릴 것입니다. 하지만 이진 탐색은 O(log n)의 시간이 걸립니다. 그림으로 살펴보겠습니다.

▲ 그림 8-1 이진 탐색

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