Table of Contents
선형 검색 및 바이너리 검색은 목록 내에서 요소를 찾기 위해 사용되는 일반적인 알고리즘입니다. 각 알고리즘의 예상 숫자를 이해하는 것은 특정 상황에 가장 효율적인 방법을 선택할 수 있습니다. 이 문서는 선형 versus 바이너리 검색 방법에 대한 예상 비교를 비교합니다.
선형 검색
선형 검색은 대상을 찾을 때까지 목록의 각 요소를 검사하거나 종료합니다. 예상 숫자의 비교는 대상이 현재와 목록의 위치 여부에 따라 달라집니다.
목록이 포함되면 n 요소와 대상은 어떤 위치에있을 가능성이, 예상 숫자의 비교는:
확장된 비교 = (n + 1) / 2
이것은 평균적으로 검색은 목록에서 대상 반도를 찾을 수 있습니다.
Binary Search의
바이너리 검색은 반복적으로 절반의 검색 간격을 분할하여 분류 된 목록에서 작동합니다. 그것의 효율성은 목록 크기와 대상의 위치에 달려 있습니다.
가장 좋은 경우, 대상은 중간에, 단지 하나의 비교를 필요로. 최악의 경우, 그것은 약을 걸립니다 로그]2 n 비교.
대상을 모을 때 어떤 위치에있을 가능성이 동일하게, 비교의 예상 수는 대략:
] ≈ 로그2] n]]]
비교 요약
- 선형 검색은 예상 비교 수 (n + 1) / 2.
- 바이너리 검색은 대략 로그의 예상 비교 수2 n.
- Binary search 일반적으로 큰 목록에 대한 몇 가지 비교를 요구합니다.
- 선형 검색은 작거나 구문된 리스트에 선호될 수 있습니다.