25. 자료 구조와 알고리즘/나의 알고리즘

12. 순차 탐색 (Sequential Search)

THE HEYDAZE 2021. 9. 23. 19:35

정의

- 데이터가 담겨있는 리스트를 앞에서부터 하나씩 비교해서 원하는 데이터를 찾는 방법

 

분석

- 최악의 경우 리스트 길이가 n 일 때 n 번 비교해야 한다 (찾는 값이 맨 마지막에 있을 경우)

- O(n)

 

순차 탐색 (Sequential Search)
public class SequentialSearch {

    public static void main(String[] args) {

        int[] arr = new Random().ints(10, 0, 30).toArray();;

        int index = sequential(arr, 10);

        System.out.println("arr = " + Arrays.toString(arr));
        System.out.println("index = " + index);
    }

    private static int sequential(int[] arr, int searchValue) {

        for (int index = 0; index < arr.length; index++) {

            if (arr[index] == searchValue) return index;
        }

        return -1;

    }
}