선형 검색이란?
선형 검색(Linear Search)은 가장 기본적인 검색 알고리즘 중 하나입니다. 배열의 첫 번째 요소부터 시작하여 마지막 요소까지 순차적으로 탐색하면서, 찾고자 하는 값과 일치하는 요소가 있는지 확인합니다. 값을 발견하면 해당 인덱스를 반환하고, 끝까지 찾지 못하면 검색에 실패했음을 알립니다.
선형 검색은 정렬되지 않은 배열에서도 사용할 수 있으며, 구현이 매우 간단하다는 장점이 있습니다. 다만 시간 복잡도가 O(n)이므로 대량의 데이터를 다룰 때는 이진 검색 같은 더 효율적인 알고리즘을 고려하는 것이 좋습니다.
JavaScript 선형 검색 예제 코드
아래는 JavaScript로 선형 검색을 구현한 전체 예제 코드입니다. 버튼을 클릭하면 배열에서 값 22를 검색하고, 그 결과를 화면에 표시합니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.result,.sample {
font-size: 20px;
font-weight: 500;
color: blueviolet;
}
.sample{
color:red;
}
</style>
</head>
<body>
<h1>선형 검색 구현</h1>
<div class="sample">[1,19,5,11,22,55]</div><br>
<div class="result"></div>
<br />
<button class="Btn">CLICK HERE</button>
<h3>위 버튼을 클릭하면 배열에서 22를 검색합니다</h3>
<script>
let resEle = document.querySelector(".result");
let BtnEle = document.querySelector(".Btn");
let arr = [1,19,5,11,22,55];
BtnEle.addEventListener("click", () => {
for(let i=0;i<arr.length;i++){
if(arr[i]===22){
resEle.innerHTML = 'Element found at : '+i;
break;
}
}
});
</script>
</body>
</html>코드 설명
이 예제의 핵심 로직은 다음과 같습니다.
- 배열 선언:
[1,19,5,11,22,55]라는 숫자 배열을 생성합니다. - 이벤트 리스너 등록: 버튼 클릭 시 실행될 함수를
addEventListener로 등록합니다. - 반복문으로 순차 탐색:
for반복문을 이용해 배열의 처음부터 끝까지 요소를 하나씩 확인합니다. - 값 비교: 현재 요소가 22와 일치하면 해당 인덱스를 결과 영역에 출력하고
break로 반복문을 종료합니다.
실행 결과
페이지를 열면 아래와 같이 초기 화면이 나타납니다.

'CLICK HERE' 버튼을 클릭하면 다음과 같이 검색 결과가 표시됩니다.

버튼을 클릭한 후에는 "Element found at : 4"라는 메시지가 출력되어, 값 22가 배열의 인덱스 4 위치에 있다는 것을 알 수 있습니다.