이진 검색 알고리즘 순서도

순서도노드 10개교육 · 알고리즘 학습한 번의 프롬프트로 생성
읽기 전용 미리보기

프롬프트

이진 검색 알고리즘의 순서도를 만들어 주세요

나만의 버전 만들기

프레임워크 소개

구간을 좁혀 가며 이진 검색 추적하기

이 10개 노드의 순서도는 정렬된 배열에서 대상 값을 검색합니다. low를 0으로, high를 n-1로 초기화한 다음 low가 high보다 작거나 같은지 확인하고 중간 지점을 계산합니다. 값이 일치하면 mid를 반환하고, 그렇지 않으면 두 번째 비교를 통해 변경할 범위를 선택합니다.

두 업데이트 단계에서는 low를 mid + 1로 설정하거나 high를 mid - 1로 설정한 뒤 범위 확인 단계로 돌아갑니다. 구간이 모두 소진되면 -1을 반환합니다. 중간 지점 상자에는 (low+high) / 2가 표시되어 있지만 정수 반올림 방식은 명시되어 있지 않으므로, 코드 중심 버전에서는 이 부분을 명확히 해야 합니다.

작은 정렬 배열을 사용해 직접 추적할 때 이 다이어그램을 활용해 보세요. 각 반복 후 low, high, mid를 기록하고, 배열에 있는 대상과 없는 대상을 모두 시험해 보세요. 이 예시는 일치하는 인덱스를 반환하지만, 중복 값 중 첫 번째 항목을 찾기 위한 별도 분기는 포함하지 않습니다.

포함 내용

얻는 것

  • 3개의 판단 다이아몬드를 포함한 10개의 알고리즘 노드
  • low와 high 검색 범위의 초기화
  • 범위 확인으로 반복되는 2개의 업데이트 경로
  • mid 반환 및 -1 반환이라는 종료 결과
순서도

이진 검색 알고리즘 순서도

알고리즘이진 검색컴퓨터 과학자료 구조

✦ Free preview · Sign in to use

자주 묻는 질문

자주 묻는 질문

이 예시는 어떤 배열을 검색하나요?

이 예시는 정렬된 배열을 전제로 합니다. 비교 과정에서 정렬 순서를 활용해 탐색 구간을 좁히며, 정렬 자체는 다이어그램의 단계에 포함되지 않습니다.

중간 지점 나눗셈은 어떻게 해석해야 하나요?

상자에는 반올림 방식이 명시되어 있지 않습니다. 인덱스 기반 버전이라면 low + floor((high-low)/2)처럼 정수 반올림을 명확히 표시하는 것이 좋습니다.

대상 값을 찾지 못하면 어떻게 되나요?

low가 high보다 커질 때까지 범위가 반복해서 업데이트됩니다. 이후 low <= high의 아니요 분기에서 -1을 반환합니다.

이진 검색 알고리즘 순서도

무료로 시작. 신용카드 불필요.

Free preview · Sign in to use