반응형
순차 탐색?
정렬되지 않은 배열의 항목들을 처음부터 마지막까지 차례대로 하나씩 검사하여 원하는 항목을 찾아가는 방법
#include <stdio.h>
int seq_search(int key, int low, int high){
int i;
for (i=low; i<=high; i++)
if (list[i]==ley)
return i; //탐색에 성공하면 인덱스를 반환하고 종료
return -1; //탐색에 실패하면 -1 반환
}
순차 탐색의 시간복잡도
탐색이 성공할 경우, 찾으려는 항목(key)의 위치에 따라 비교 횟수가 다르다. 첫 번째에 있으면 1회, 두 번째에 있으면 2회, ... n번째에 있으면 n회 비교한다. 즉, 모든 키가 탐색될 확률이 동일하다고 가정하면,
평균 비교 횟수는 (1+2+3+....n)/n = (n+1)/2이며
실패했을 경우의 비교횟수는 n번이다.
따라서 순차 탐색의 시간 복잡도는 O(n)이다.
반응형
'🖥️ CS, 개발상식 > 자료구조' 카테고리의 다른 글
[자료구조/C] 포인터 (0) | 2020.07.29 |
---|---|
[자료구조/C] 구조체 (0) | 2020.07.26 |
[자료구조/C] 배열 (0) | 2020.07.25 |
[자료구조/C] 자료구조와 알고리즘, 추상자료형(ADT, abstract data type) (0) | 2020.07.22 |
[자료구조] 자료구조와 알고리즘 (0) | 2020.07.22 |