[Do it! 알고리즘 코딩 테스트 자바] 이진 탐색 (12일차)

2026. 3. 8. 22:23·Java

이진 탐색 (Binary Search)

  • 정의: 정렬된 데이터 배열에서 탐색 범위를 절반씩 분할하며 원하는 타겟 값의 위치를 찾는 고속 탐색 알고리즘.
  • 핵심 원리:
    • 정렬 전제 조건: 탐색 수행 전 배열의 데이터가 반드시 오름차순이나 내림차순으로 정렬되어 있어야 함.
    • 포인터 활용 (분할 정복): 탐색 범위의 시작점(start), 끝점(end), 중간점(mid) 3개의 변수(포인터)를 설정하여 범위를 조작.
    • 범위 축소 방식: 타겟 값이 중간점(mid) 값보다 작으면 왼쪽 절반을 탐색(end = mid - 1), 크면 오른쪽 절반을 탐색(start = mid + 1)하는 과정을 반복.
    • 시간 복잡도 최적화: 매 비교마다 탐색 공간이 반으로 줄어들므로 시간 복잡도는 O(log N)을 보장. 데이터 규모가 커질수록 선형 탐색(O(N)) 대비 압도적인 효율 발휘.
    • 종료 조건: 중간점 데이터가 타겟 값과 일치하여 탐색에 성공하거나, 시작점이 끝점보다 커져서(start > end) 더 이상 탐색할 범위가 없을 때 탐색 종료.
저작자표시 (새창열림)

'Java' 카테고리의 다른 글

[Java] 원시 타입과 참조 타입의 차이 / 데이터 타입 / 리터럴  (3) 2026.03.16
[Do it! 알고리즘 코딩 테스트 자바] 그리디 알고리즘, 소수 구하기, 유클리드 호제법, 그래프 [13~18일차]  (1) 2026.03.15
[Do it! 알고리즘 코딩 테스트 자바] BFS 너비 우선 탐색 - 백준 1260(11일차)  (0) 2026.03.08
[Do it! 알고리즘 코딩 테스트 자바] 백트래킹을 써야하는 이유(feat.DFS) - 백준 11724/2023/13023/15649/9663(10일차)  (0) 2026.03.08
[Do it! 알고리즘 코딩 테스트 자바] 병합정렬과 기수정렬 - 백준 2751 / 1517 / 10989(9일차)  (0) 2026.03.06
'Java' 카테고리의 다른 글
  • [Java] 원시 타입과 참조 타입의 차이 / 데이터 타입 / 리터럴
  • [Do it! 알고리즘 코딩 테스트 자바] 그리디 알고리즘, 소수 구하기, 유클리드 호제법, 그래프 [13~18일차]
  • [Do it! 알고리즘 코딩 테스트 자바] BFS 너비 우선 탐색 - 백준 1260(11일차)
  • [Do it! 알고리즘 코딩 테스트 자바] 백트래킹을 써야하는 이유(feat.DFS) - 백준 11724/2023/13023/15649/9663(10일차)
미우딩
미우딩
다양한 프로그래밍 언어를 공부하고 있는 공대생입니다! Python, Java, C언어를 주로 공부하고 있으며 Figma를 통한 디자인도 종종 올릴 예정입니다.
  • 미우딩
    미우의 코딩 기록
    미우딩
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • Java (47)
      • C언어 (0)
      • 대외활동 (5)
      • Spring (4)
      • 프로젝트 (2)
      • 앱개발 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    IT #알고리즘 #코딩테스트 #삽입정렬 #오름차순정렬
    IT #코딩테스트 #알고리즘 #스택 #
    BufferedReader
    IT #코딩테스트 #이진탐색 #알고리즘
    IT #백준 #코딩테스트 #알고리즘 #구간합 #반복문
    IT #알고리즘 #코딩테스트 #DFS
    IT #알고리즘 #코딩테스트 #선택정렬 #내림차순정렬 #최댓값
    IT #코딩테스트 #알고리즘 #슬라이딩윈도우 #투포인터 #함수
    IT #백준 #알고리즘 #코딩테스트 #배열 #형변환 #아스키코드
    IT #코딩테스트 #알고리즘 #버블정렬 #오름차순
    IT #알고리즘 #코딩테스트 #우선순위큐 #힙 #절댓값 #오름차순 #정렬
    push #pop #StringBuffer
    android #java #kotlin #compose
    Spring #정적컨텐츠 #MVC #템플릿엔진 #API #애너테이션
    IT #백준 #알고리즘 #코딩테스트 #배열 #형변환 #평균구하기
    IT #코딩테스트 #알고리즘 #투포인터 #시간제한 #Scanner #BufferedReader #StringTokenizer
    IT #알고리즘 #그리디알고리즘 #탐욕알고리즘 #코테
    IT #큐 #알고리즘 #코딩테스트 #자바 #선입선출
    IT #알고리즘 #코딩테스트 #퀵정렬 #오름차순정렬
    IT #코딩테스트 #알고리즘 #DFS #재귀함수 #무방향그래프
    IT #BFS #코딩테스트 #구현 #큐 #재귀함수
    IT #코딩테스트 #알고리즘 #백준 #투포인터 #배열
    java #android #개발자
    android #java #kotlin #상태관리
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
미우딩
[Do it! 알고리즘 코딩 테스트 자바] 이진 탐색 (12일차)
상단으로

티스토리툴바