본문 바로가기

취업을 준비하며 정리하는 컴퓨터 지식/Algorithm

[Algorithm] 순차 탐색은 뭐야?

728x90

순차 탐색(Sequential Search)이란 배열에서 특정한 값을 찾기 위하서 배열의 첫 번째 항부터 마지막 항까지 하나씩 차례대로 확인해보는 방법을 말한다. 

 

검색할 배열의 길이가 길면 비효율적이라는 단점이 있지만 검색 방법 중에서 간단하게 구현 가능하고, 정렬되지 않은 배열에도 사용할 수 있다는 장점을 가지고 있다.

 

다음은 순차 탐색에 사용될 배열을 시각화한 자료이다.

 

순차 탐색 1번째

위의 배열에서 목표값을 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