자료구조

[자료구조] 22 순차탐색

juju824 2020. 10. 9. 00:31

📌탐색

다수의 레코드 집합에서 특정 키 값과 일치하는 레코드 찾는 작업 

✔️레코드

객체(object)의 속성(property)에 해당하는 필드(field)의 집합 

✔️리스트

레코드의 집합

✔️디스크

리스트가 파일형식으로 저장되는 곳 

 

📌순차탐색 (Sequential Search)

목표 키를 찾을 때까지 순차적으로 비교 반복 

❗️최상 : 첫번째 비교에서 목표 레코드 찾는 경우 , 비교 횟수 1번

💢최악 : 가장 마지막 비교에서 목표 레코드 찾는 경우 , 비교 횟수 n번

시간 복잡도 : O(n)

import java.util.Scanner;

public class Sequential {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int pos = 0;
        int n = sc.nextInt();
        int[] num = new int[n];
        for (int i = 0; i < n; i++) {
            num[i] = sc.nextInt();
        }
        int key = sc.nextInt();
        pos = seq_search(num, key, n);
        if(pos == -1){
            System.out.println("There's no key!");
        }
        else {
            System.out.println(pos);
        }
    }
    public static int seq_search(int num[], int key, int n){
        int i;
        for (i=0; i<n; i++){
            if(key == num[i]){
                return i;
            }
        }
        return -1;
    }
}

👆👆Java code 입니다.. 지금까진 C!

 

👉입력..

처음에 입력 받을 배열안의 원소 수 : num

원소 수 입력 받고 

key로 찾고자 하는 원소 입력

10
12 5 6 19 21 3 7 81 42 15
81

👉출력..
7

num[7]에 key가 있다!

'자료구조' 카테고리의 다른 글

[자료구조] 24 보간 탐색  (0) 2020.10.09
[자료구조] 23 이진탐색  (0) 2020.10.09
[자료구조] 21 합병정렬  (0) 2020.10.08
[자료구조] 20 힙 정렬  (0) 2020.10.07
[자료구조] 19 퀵 정렬  (0) 2020.10.07