비교횟수
최선의 경우 : 1번
평균의 경우 : (N+1) / 2 번
최악의 경우 : N번(배열의 크기, 즉 배열의 가장 마지막에 원소 존재하는 경우와 원소가 없는 경우)
시간 복잡도 : O(n)
자료가 정렬되어 있지 않을 때에 사용이 가능하다.
적은 자료에서의 탐색이 효율적이다.
알고리즘이 간단하지만 속도가 느리다.
function SequentialSearch(arr, data) {
let result = -1;
arr.forEach((d, i) => {
if (d === data) {
result = i + 1;
return result;
}
});
return result;
}
function Solution() {
const arr = [23, 25, 14, 5, 66, 72, 13, 224, 51];
const findData = 14; // 값을 변경하며 실행해보자.
const findIdx = SequentialSearch(arr, findData);
if (findIdx !== -1) {
console.log(`탐색 결과 : ${findIdx}번째에 원소가 존재합니다.`);
} else {
console.log(`탐색 결과 : 원소가 존재하지 않습니다.`);
}
return;
}
Solution();