본문 바로가기

알고리즘

[알고리즘] 선행탐색

선형탐색이란

  • 왼쪽 인덱스부터 차례대로 비교하여 값을 찾아내는 방식의 알고리즘이다.

논리

  • 원하는 값을 0번 인덱스 값과 비교한다.
    • 동일한 값이 있다면 탐색완료
    • 동일한 값이 없다면 다음 인덱스와 비교
  • next
  • ....

이미지로 보기

특징

  • 알고리즘 구현이 간단하다.
  • 배열이 정렬되어 있지 않은 것을 전제로한다.

단점

  • 배열이 길어질수록 비례해서 시간이 오래걸린다.

예제

[1,3,2,4,5]에서 4라는 값을 찾아보자

예제 코드

// 배열을 선언
int[] arr = new int[5];

// 배열에 값 넣기
arr[0] = 1;
arr[1] = 3;
arr[2] = 2;
arr[3] = 4;
arr[4] = 5;

// 찾고자하는 값을 지정
int key = 4;

// 배열 길이만큼 반복
for(int i=0;i<arr.length;i++) {

    if(arr[i] == key) {

        // 찾은 값 출력
        System.out.print("인덱스 번호는 " + i + " : " + "원하는 값은 " + key);

        // 값을 찾았기 때문에 반복문 탈출
        break;

    }

}

'알고리즘' 카테고리의 다른 글

[알고리즘] 이진탐색  (0) 2023.11.30
[알고리즘] 선택정렬  (0) 2023.11.29
[알고리즘] 버블정렬  (0) 2023.11.28
[알고리즘] 삽입정렬  (0) 2023.11.28
[알고리즘] 탐색 알고리즘  (0) 2023.11.27