Oh My Algorithm
Algorithm Guidecomplexity: O(n)

선형 탐색 (Linear Search)

배열의 처음부터 끝까지 순서대로 모든 요소를 확인하며 원하는 값을 찾는 가장 기초적인 검색 방법입니다.

01선형 탐색 (Linear Search)

선형 탐색을 시작합니다. 배열을 앞에서부터 하나씩 확인하며 목표 값 34를 찾습니다.

첫 번째 값 45는 목표가 아닙니다. 한 칸 오른쪽으로 넘어갑니다.

다음 값 12도 아닙니다. 계속 오른쪽으로 나아갑니다.

89도 목표가 아닙니다. 앞에서부터 훑는 방법이라 건너뛸 수 없습니다.

네 번째 값이 34 — 목표와 일치합니다. 여기서 탐색을 멈춥니다.

탐색 완료 · 34는 인덱스 3에 있습니다. 정렬돼 있지 않아도 쓸 수 있지만 값이 많아지면 느립니다.

45
12
89
34
67
23
56
10
1 / 6

02 쉽게 이해하기

For Everyone
🔑핵심 동작

앞에서부터 하나씩 값을 비교합니다. 정렬돼 있지 않아도 되는 대신 최악에는 전부 봅니다.

💡쉽게 말하면

앞에서부터 하나씩 비교해 원하는 값을 찾습니다.

정렬돼 있지 않아도 되지만 O(n)으로 느려요.

📍어디에 쓰나
  • 정렬 안 된 소량 데이터
  • 한 번만 찾을 때

03 파이썬 구현 코드

선형 탐색 (Linear Search)의 핵심 로직을 담은 표준 구현 예시입니다. 가급적 간결하고 읽기 쉬운 코드로 작성되었습니다.

core_implementation.py
def linear_search(arr, target):
    for i in range(len(arr)):
        if arr[i] == target:
            return i
    return -1

04 자주 묻는 질문

FAQ
선형 탐색 (Linear Search)란 무엇인가요?+

배열의 처음부터 끝까지 순서대로 모든 요소를 확인하며 원하는 값을 찾는 가장 기초적인 검색 방법입니다.

선형 탐색 (Linear Search)의 시간복잡도는 어떻게 되나요?+

선형 탐색 (Linear Search)의 시간복잡도는 O(n) 입니다. 시각화의 단계별 진행을 따라가며 왜 이런 복잡도가 나오는지 직접 확인할 수 있습니다.

선형 탐색 (Linear Search)은(는) 어디에 사용하나요?+

정렬 안 된 소량 데이터, 한 번만 찾을 때.

선형 탐색 (Linear Search)를 쉽게 비유하면?+

앞에서부터 하나씩 값을 비교합니다. 정렬돼 있지 않아도 되는 대신 최악에는 전부 봅니다.