Python 알고리즘

Python 선형 탐색

선형 탐색은 정렬되지 않은 데이터에서도 동작합니다.

선형 탐색이란?

선형 탐색은 처음부터 각 항목을 차례로 확인하여 목표값을 찾거나 끝에 도달할 때까지 진행합니다. 데이터를 미리 정렬할 필요가 없습니다.

알고리즘 동작 과정

  1. 인덱스 0에서 시작합니다.
  2. 현재 항목을 목표값과 비교합니다.
  3. 같으면 인덱스를 반환하고, 다르면 다음 항목으로 이동합니다.
  4. 마지막까지 일치하지 않으면 -1을 반환합니다.
복잡도: 평균 및 최악의 경우 시간 O(n), 추가 공간 O(1)입니다.

Python 선형 탐색 시각화

O(n)

재생 또는 한 단계를 눌러 비교와 데이터 이동 과정을 확인하세요.

예제 코드

코드 실행 →
main.py
def linear_search(values, target):
    for index, value in enumerate(values):
        if value == target:
            return index
    return -1

print(linear_search([14, 3, 27, 8, 19], 8))

예상 출력

3

작동 원리

각 값을 최대 한 번 비교하므로 시간 O(n), 추가 메모리 O(1)입니다.

값을 변경하고 Python 설치 없이 CodeUtility 온라인 Python 컴파일러에서 실행하세요.

연습 문제

입력값과 경계 조건을 바꾸고 더 큰 데이터에서도 동작을 확인하세요.

  1. 빈 입력, 한 요소, 중복값을 시험하세요.
  2. 각 단계의 상태를 출력하세요.
  3. 다른 풀이와 성능을 비교하세요.
Python IDE에서 실행 →