본문 바로가기

코딩테스트 준비/알고리즘

[알고리즘]이진탐색 with Python

Q: 찾으려는 숫자 3 이 있는가?

 

EX:  1 3 5 6 7 8 22 45       ----> 8개

     8/2 =4    4번째 숫자는 7  찾는숫자 3보다 큰수

   

    1 3 5 6 까지 다시비교    ---->4개

    4/2 = 2   2번째 숫자는 5 찾는숫자 3보다 큰수

 

   1 3 까지 다시비교          ---->2개

   2/2 = 1  1번째숫자는 3 찾는숫자 3과 일치  TRUE

 

시간복잡도 O(logn)