알고리즘 요약

순차탐색 (sequential search)

- 첫째 항목부터 차례로 비교한다. - 배열이 정렬되어 있지 않을 경우 사용. - 시간복잡도: 평균 O(n/2) O(n)

탐색과정 설명

① ② ④ ⑤ : 위치번호 [6, 2, 3, 4, 1] :숫자열이 있을 경우, 3을 찾는다면 -첫항목 ①6 과 찾는 값을 비교한다. 다르면 다음값 ②2와 비교. 없으면 계속 반복 [6, 2, 3, 4, 1] : 찾는 숫자가 나오면 탐색 완료

Python 코드 코드편집/실행


def seq_search(a, n):
    for i in a: # 배열에서 값을 하나씩 꺼내서 루프
        if i == n:  # 값이 n과 같으면 True 리턴
            return True
    return False # 같은 값이 없으면 False 리턴

a = [6, 2, 3, 4, 1]
print(seq_search(a, 3)) # 결과 True 

C/C++ 코드 코드편집/실행


#include <stdio.h>

// 배열 a 에서 값 v 가 있는지 확인하는 함수
int seq_search(int a[], int len, int v) { // a:데이타 배열, len:배열길이, v:찾을 값
  int i;  
  for (i = 0; i < len; i++) { // 배열갯수만큼 찾는 루틴 루프
    if(a[i] == v) return 1; // 찾는 값과 같으면 1 리턴
  }
  return 0; // 찾는 값이 없으면 0 리턴
}

// 함수 테스트
int main() {
  int a[] = {6, 2, 3, 4, 1}, len = sizeof(a) / sizeof(a[0]);
  printf("%d", seq_search(a, len, 3)); //결과: 1
  return 0;
}
© 코드솔 - CodeSol. All Rights Reserved.