취업을 준비하며 정리하는 컴퓨터 지식/Algorithm
[Algorithm] 순차 탐색은 뭐야?
FiveReptile
2021. 1. 12. 22:18
728x90
순차 탐색(Sequential Search)이란 배열에서 특정한 값을 찾기 위하서 배열의 첫 번째 항부터 마지막 항까지 하나씩 차례대로 확인해보는 방법을 말한다.
검색할 배열의 길이가 길면 비효율적이라는 단점이 있지만 검색 방법 중에서 간단하게 구현 가능하고, 정렬되지 않은 배열에도 사용할 수 있다는 장점을 가지고 있다.
다음은 순차 탐색에 사용될 배열을 시각화한 자료이다.
위의 배열에서 목표값을 5라고 가정한 후에 순차 탐색을 진행한다면 다음의 과정을 걸친다.
- 7과 목표값 5 비교 같지 않기 때문에 다음으로 넘어간다.
- 6과 목표값 5 비교 같지 않기 때문에 다음으로 넘어간다.
- 8과 목표값 5 비교 같지 않기 때문에 다음으로 넘어간다.
- 5와 목표값 5 비교 같기 때문에 해당 위치 값 출력 후 탐색 종료.
방금 설명한 방법을 코드로 설명하면 다음과 같다.
1
2
3
4
5
6
7
8
9
10
|
# 순차 탐색 알고리즘(선형 탐색)
def SequentialSearch(n, target, array):
for i in range(n):
if target == array[i]:
return i + 1
array = [7,6,8,5,4,1,3,2]
target = 5
print(SequentialSearch(len(array), target, array))
|
순차 탐색 함수의 인자로 배열의 크기, 목표값, 배열을 넣어준다.
728x90