본문 바로가기

개인 블로그

[모각코 4주차 개인블로그] 이진탐색

이진 탐색 (Binary Search)

  • 정의: 정렬된 배열에서 특정 요소를 찾는 알고리즘으로, 중앙값을 기준으로 배열을 반씩 줄여가며 탐색하는 방식을 채택함.

  • 자바 예제코드:

public class BinarySearch {
    public static int binarySearch(int[] arr, int target) {
        int left = 0;
        int right = arr.length - 1;
        while (left <= right) {
            int mid = left + (right - left) / 2;
            if (arr[mid] == target)
                return mid;
            if (arr[mid] < target)
                left = mid + 1;
            else
                right = mid - 1;
        }
        return -1;
    }

    public static void main(String[] args) {
        int[] arr = {2, 3, 4, 10, 40};
        int target = 10;
        int result = binarySearch(arr, target);
        if (result == -1)
            System.out.println("Element not present");
        else
            System.out.println("Element found at index " + result);
    }
}