CS기초/Algorithm, Data Structures
[알고리즘] 선형 검색과 이진 검색
Hyunie
2022. 11. 13. 13:37
728x90
반응형
검색의 종류
- 배열 검색
- 연결 리스트 검색
- 트리 검색
1. 선형 검색 (linear search/ sequential search)
특징: 무작위로 늘어놓은 데이터 집합에서 검색
쉽게 말해 배열의 전체 요소를 모두 탐색하는 것을 뜻한다.
- 보초법: 선형검색의 비용을 줄이는 방법. 반복을 종료하는 판단 횟수를 줄이는 역할을 하는 것이 보초.
시간 복잡도: O(n)
2. 이진 검색(binary search) (분할정복법(divde and conquer 중 하나)
특징: 일정한 규칙으로 늘어놓은 데이터 집합에서 검색, 즉 시퀀스가 정렬(sort)되어있어야함.
중간 값과 찾으려는 값의 대소비교를 통해 범위를 절반씩 줄여 나감.
시간복잡도: O(logn)
길이가 n인 배열을 이진 탐색하면 n, n/2, n/4, n/8, ..., 1회 실행될 것이다. 즉, 실행된 탐색 횟수를 k번이라고한다면,
2^k = n
k = log2n
이 된다.
728x90
반응형