개발자의 공부방/알고리즘

알고리즘] 순차 검색(Sequential Search) 알고리즘

  • -
728x90
반응형

데이터를 처음부터 검색하는 알고리즘입니다.

단순하지만 비효율적이라는 단점이 있습니다.

순차 검색은 단방향으로 검색을 하기 때문에 선형 검색이라고 부르기도 합니다.

 

1) 데이터 배열을 N을 가리키기 위한 변수 I를 선언하고 0으로 초기화한다.

2) I < N이면 3단계를 수행하고, I == N이면 4단계를 수행한다.

3) N[I] == "5" 👉 4단계로 간다.

    N[I] != "5" 👉 I를 하나 증가시키고 다시 비교한다.

5) I < N 👉 I번째 위치에서 원하는 데이터를 발견한다.

     I == N 👉 원하는 데이터가 발견되지 않았다.

 

예시 코드)

public class SequentialSearch {
    public static void main(String[] args) {
        int[] dataArray = {4, 21, 2, 10, 11, 16, 5};
        System.out.println("검색할 데이터를 입력하세요");
        Scanner sc = new Scanner(System.in);
        int search = Integer.parseInt(sc.nextLine().trim());

        int result = sequentialSearch(dataArray, search);

        if(result == -1) {
            System.out.println("데이터를 찾지 못 했습니다");
        } else {
            System.out.println("result = " + result + "번째 입니다");
        }
    }

    public static int sequentialSearch(int[] arr, int search) {
        for (int i = 0; i < arr.length; i++) { //* 순서대로 비교하기!
            if (arr[i] == search) { // * 비교할 데이터가 배열에 있으면 배열의 위치를 return!
                return i;           // * 없으면 -1을 return!
            }
        }
        return -1;
    }
}

결과)

검색할 데이터를 입력하세요
5
result = 6번째 입니다

 

 

참고 자료)

그림으로 정리한 자료구조와 알고리즘

https://www.yes24.com/Product/Goods/62600107

 

그림으로 정리한 알고리즘과 자료구조 - 예스24

그림과 표로 저절로 이해되는 알고리즘!알고리즘과 함께 익히는 IoT, 인공지능, 머신러닝, 딥러닝인공지능과 빅데이터 등 4차 산업혁명의 키워드가 되는 산업 기반이 모두 알고리즘 기반으로 돌

www.yes24.com

https://blog.hexabrain.net/245

 

알고리즘 2-1강. 탐색 알고리즘 - 순차 탐색(Sequential Search)

[탐색 알고리즘 강좌] 데이터를 찾아보자! 순차 탐색(Sequential Search) 이 강좌에서 알게될 '순차 탐색(Sequential Search)'는 바로 데이터가 모인 데이터 배열이 있으면 이 데이터 배열의 처음부터 끝까

blog.hexabrain.net

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.