Engineering Note

이진탐색 알고리즘의 재귀적 구현(C언어) 본문

Computer Science/Data Structure & Algorithm

이진탐색 알고리즘의 재귀적 구현(C언어)

Software Engineer Kim 2021. 1. 6. 23:32

<이진탐색 알고리즘을 사용하시 주의 사항>

정렬이 된 배열에서 사용이 가능하다.

정렬된 배열 arr에서

탐색시작 인덱스: left

탐색마지막 인덱스 : right

구간 중간 인덱스 : middle == (left + right)/2

<알고리즘 순서>

1. 중간 값과 찾는 값 비교

2. 찾는 값이 중간값 보다 작으면 중간값 좌측 구간을 탐색하도록 right값 갱신(middle-1)

찾는 값이 중간값 보다 크면 중간값 우측 구간을 탐색하도록 left값 갱신(middle+1)

3. 1,2조건 반복

<재귀를 빠져나가는 조건>

1.left와 right가 교차할 경우

2.값을 찾지못했을 경우 -1 에러값을 반환하도록 구현

'Computer Science > Data Structure & Algorithm' 카테고리의 다른 글

Bubble Sorting  (0) 2021.01.09
Chapter 01 자료구조와 알고리즘의 이해  (0) 2021.01.07
Recursion  (0) 2021.01.06
Queue  (0) 2021.01.06
자료구조 코드 구현 Tip  (0) 2021.01.06
Comments