haju__log
[python] 순차탐색 (Sequential Search) 본문
반응형
✅ 순차탐색이란
- 리스트 내 특정 데이터를 찾기 위해 앞에서부터 데이터를 차례대로 탐색하는 알고리즘
✅ 동작 과정
- 리스트의 맨 앞 데이터와 찾으려는 데이터가 같은 지 탐색
- 데이터가 같지 않다면 다음 데이터와 찾으려는 데이터가 같은 지 탐색
- 같은 데이터를 찾기 전까지 2의 과정을 반복
✅ 리스트 내 데이터가 아무리 많더라도 시간만 충분하다면 반드시 원하는 데이터를 찾을 수 있다.
✅ 구현
def sq_search(n,target,arr):
for i in range(n):
if arr[i]==target:
return i+1
arr = ['apple','banana','grape','peach','lemon']
n= len(arr)
target = arr[2]
print("{}번째에서 데이터 탐색 종료.".format(sq_search(n,target,arr)))
✅ 코드 결과
✅ 시간 복잡도 (Big-O)
- 데이터의 정렬 여부와 상관없이 맨 앞에 있는 데이터부터 하나씩 차례대로 탐색함
- 따라서 리스트 내 데이터가 N개 있다면 비교 연산을 최대 N번 수행해야함
- 최악의 경우 순차 탐색의 시간 복잡도는 O(N)이다.
반응형
'코테관련 이론' 카테고리의 다른 글
[python] 2진수, 8진수, 16진수 함수 이용해서 변환하기 (0) | 2023.07.12 |
---|---|
[python] 이진탐색 (Binary Search) (1) | 2023.06.12 |
[python] 완전탐색 (0) | 2023.05.19 |
[python] 코딩테스트에서 여러 개의 값 입력받기 (map 이용) (0) | 2023.05.16 |
[python] 논리연산 - 단락평가 (0) | 2023.05.02 |