[c++] 선형 검색

이번 글에서는 C++을 사용하여 선형 검색(Linear Search) 알고리즘에 대해 다뤄보겠습니다. 선형 검색은 간단한 검색 알고리즘으로, 순차적으로 요소를 검사하여 원하는 값을 찾는 방법입니다.

선형 검색 알고리즘

선형 검색 알고리즘의 동작 방식은 다음과 같습니다.

  1. 배열의 첫 번째 요소부터 시작하여 찾고자 하는 값을 찾을 때까지 각 요소를 순차적으로 검색합니다.
  2. 찾고자 하는 값을 발견하면 해당 요소의 인덱스를 반환하고, 찾지 못할 경우 -1을 반환합니다.

C++ 코드 예제

다음은 C++로 구현한 선형 검색 알고리즘의 간단한 예제 코드입니다.

#include <iostream>
using namespace std;

int linearSearch(int arr[], int n, int x) {
    for(int i = 0; i < n; i++) {
        if(arr[i] == x) {
            return i; // 찾고자 하는 값의 인덱스 반환
        }
    }
    return -1; // 값이 없을 경우 -1 반환
}

int main() {
    int arr[] = {5, 7, 2, 8, 4};
    int n = sizeof(arr) / sizeof(arr[0]);
    int x = 8;
    int result = linearSearch(arr, n, x);
    if(result == -1) {
        cout << "값을 찾을 수 없습니다.";
    } else {
        cout << "값은 인덱스 " << result << "에 있습니다.";
    }
    return 0;
}

마치며

이상으로 C++을 사용한 선형 검색 알고리즘에 대해 알아보았습니다. 선형 검색은 단순하지만 효율적인 알고리즘이며, 작은 규모의 배열에서 사용할 때 유용합니다. 복잡도가 O(n)인 알고리즘이기 때문에 큰 규모의 데이터에는 적합하지 않을 수 있습니다. C++을 활용하여 다양한 검색 알고리즘을 구현해보면 도움이 될 것입니다.

참고 자료:

문의사항이 있으시면 언제든지 물어보세요!