Python 선형 탐색
선형 탐색은 정렬되지 않은 데이터에서도 동작합니다.
선형 탐색이란?
선형 탐색은 처음부터 각 항목을 차례로 확인하여 목표값을 찾거나 끝에 도달할 때까지 진행합니다. 데이터를 미리 정렬할 필요가 없습니다.
알고리즘 동작 과정
- 인덱스 0에서 시작합니다.
- 현재 항목을 목표값과 비교합니다.
- 같으면 인덱스를 반환하고, 다르면 다음 항목으로 이동합니다.
- 마지막까지 일치하지 않으면 -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 컴파일러에서 실행하세요.
연습 문제
입력값과 경계 조건을 바꾸고 더 큰 데이터에서도 동작을 확인하세요.
- 빈 입력, 한 요소, 중복값을 시험하세요.
- 각 단계의 상태를 출력하세요.
- 다른 풀이와 성능을 비교하세요.