카테고리 없음
파이썬 선형검색
rlarudals
2025. 1. 21. 01:26
선형검색(linear search)란 직선 모양으로 늘어선 배열에서 검색하는 경우 원하는 키값을 가진 원소를 찾을 때 까지 맨 앞 부터 스캔하여 순서대로 검색하는 알고리즘.
무작위로 늘어놓은 데이터 집합에서 작업을 수행한다.

def linear_search(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i # 찾은 값의 인덱스 반환
return -1 # 값이 없으면 -1 반환
# 예제
arr = [4, 2, 7, 1, 9]
target = 7
result = linear_search(arr, target)
print("Index:", result) # Output: Index: 2
장단점
장점
1. 단순한 구현 : 알고리즘이 직관적이고 구현이 간단함
2. 데이터 정렬 불필요 : 데이터가 정렬되어 있지 않아도 적용할 수 있음
3. 작은 데이터에 적합 : 데이터의 크기가 작을 때 효율적으로 사용 가능
단점
1. 효율성이 낮음 : 리스트의 크기가 커질 수록 시간이 늘어나서 비효율적
2. 이에 따른 시간 복잡도 상승 : 최악의 경우 모든 요소를 검색해야하기 때문에 시간 복잡도는 O(n)
활용하는경우
1. 데이터가 정렬되어 있지 않아 다른 효율적인 알고리즘을 사용할 수 없을 때
2. 데이터의 규모가 작을때
3. 복잡한 로직이 필요 없고 빠르게 구현해야 하는 경우