이진탐색 Binary Search

김상윤·2022년 8월 18일
0

Algorithm

목록 보기
19/19

진행

  • L > R 될 때까지 반복
  • mid = (L+R)//2
  • update
    • mid == k
      : return mid
    • mid > K
      : R = mid-1
    • mid < k
      : L = mid+1

참고하면 좋은 정리 글

https://www.acmicpc.net/blog/view/109

코드

def binary_search(target, data):
    data.sort()
    left = 0
    right = len(data) - 1

    while left <= right:
        mid = (left + right) // 2

        if data[mid] == target:
            return mid # 함수를 끝내버린다.
        elif data[mid] > target:
            right = mid -1
        else:
            left = mid + 1
  
    return None

reference

https://wayhome25.github.io/cs/2017/04/15/cs-16/

0개의 댓글

Powered by GraphCDN, the GraphQL CDN