C 프로그래밍에서 검색 알고리즘 탐색

검색 알고리즘은 컴퓨터 과학 및 프로그래밍에서 중요한 부분으로, 효율적인 데이터 검색을 가능하게 합니다. 이 포스트는 C에서 구현된 선형 검색과 이진 검색, 두 가지 클래식한 검색 알고리즘을 초보자 및 중급 프로그래머에게 소개할 것입니다.

선형 검색

  • 개념: 선형 검색의 기본 아이디어 설명.
  • 장단점: 선형 검색을 사용할 때의 장단점 논의.
  • 샘플 코드: C에서 선형 검색 구현.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
int linearSearch(int arr[], int n, int x) {
    for (int i = 0; i < n; i++)
        if (arr[i] == x)
            return i;
    return 1;
}
int main() {
    int arr[] = {24791115};
    int x = 7;
    int n = sizeof(arr) / sizeof(arr[0]);
    int result = linearSearch(arr, n, x);
    (result == 1) ? printf(“원소를 찾을 수 없음”)
                   : printf(“원소가 발견된 인덱스: %d”, result);
    return 0;
}
cs

 

이진 검색

  • 개념: 이진 검색 알고리즘에 대한 개요.
  • 장단점: 이진 검색이 가장 효과적인 경우.
  • 샘플 코드: C에서 이진 검색 구현.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>
int binarySearch(int arr[], int l, int r, int x) {
    while (l <= r) {
        int m = l + (r  l) / 2;
        if (arr[m] == x)
            return m;
        if (arr[m] < x)
            l = m + 1;
        else
            r = m  1;
    }
    return 1;
}
int main() {
    int arr[] = {2341040};
    int n = sizeof(arr) / sizeof(arr[0]);
    int x = 10;
    int result = binarySearch(arr, 0, n  1, x);
    (result == 1) ? printf(“원소를 찾을 수 없음”)
                   : printf(“원소가 발견된 인덱스: %d”, result);
    return 0;
}
cs

 

 

 

 

참고: https://learn.microsoft.com/en-us/cpp/c-language/?view=msvc-170

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다