이진 탐색 (Binary_Search)

2025. 11. 4. 19:59·Algorithm/Binary_Search

 

이진 탐색이란?

- 정렬된 데이터에서 원하는 값을 빠르게 찾는 알고리즘
   탐색 범위를 절반씩 줄여가며 찾기 때문에 O(log N) 의 시간 복잡도를 가진다.

 

이진 탐색 원리

- 이진 탐색은 오름 차순 또는 내림차순으로 정렬된 배열에 적용 가능한 탐색 기법이다. 

  정렬된 배열에서 특정 값을 찾을 때 중앙에 위치한 값을 활용하면 아주 빠른 속도로 탐색을 끝낼 수 있다. 

 

   아래 그림을 보자. 배열을 오름차순으로 정렬되어 있다고 가정한다.  배열의 시작점과 끝점의 정중앙에 위치한 값을 

   '중앙값'이라고 하고, 만약에 그림과 같이 '탐색값 < 중앙값 ' 이면 끝점의 값이 중앙값에  -1을 더해준 위치가 되고 

   '탐색값 > 중앙값' 이라고 하면 시작점의 값이 중앙값의 +1을 더해준 위치가 된다. 

 

   만약 '탐색값 == 중앙값' 이라면 탐색을 종료한다. 

 

예시1)

      다음과 같이 탐색값이 중앙값보다 작자면 끝점의 위치가 '중앙값 -1 ' 이 된다. 

 

 

 

예시2)

 배열의 크기가 홀수 일 때 ( 찾고자 하는 값 = 3)

예시3)

 탐색값이 존재하지 않는 경우 ( 찾고자 하는 값 = 4)

'Algorithm > Binary_Search' 카테고리의 다른 글

백준2512번 "예산" (Binary_search)  (0) 2026.01.28
'Algorithm/Binary_Search' 카테고리의 다른 글
  • 백준2512번 "예산" (Binary_search)
seonhwan2547
seonhwan2547
seonhwan2547 님의 블로그 입니다.
  • seonhwan2547
    seonhwan2547 님의 블로그
    seonhwan2547
  • 전체
    오늘
    어제
    • 분류 전체보기 (80)
      • Unreal Project (17)
        • Khazan 모작 프로젝트 (2)
        • Unreal Study (10)
        • Blueprint (5)
      • Directx11 Project (11)
        • Thymesia 팀 프로젝트 (8)
        • Kaku Ancient Seal 개인 프로젝트 (2)
        • Thymesia Animation Tool 개발 (0)
      • Algorithm (6)
        • Binary_Search (2)
        • Greedy (1)
        • Dynamic Programming (1)
        • A-star (1)
      • Coding Test (31)
        • Brutal Force (2)
        • Sort (5)
        • DFS (3)
        • Binary_Search (4)
        • BFS (6)
        • Hash (2)
        • Dynamic Programming (6)
        • Greedy (1)
        • BackTracking (1)
        • Binary_Tree (1)
      • STL Container (1)
        • unorded_set (0)
        • priority_queue (1)
      • C++ 공부 및 몰랐던점 (8)
        • Smart pointer (1)
      • Visual Studio 설정관련 공부 (1)
      • Console Project (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 블로그 소개
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    hash
    blueprint
    CodingTest
    GameProgramming
    Unreal Engine
    Game Programming
    Unreal
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
seonhwan2547
이진 탐색 (Binary_Search)