while(low <= high)
{
mid = (low + high)/2;
if (target < list[mid])
high = mid - 1;
else if (target > list[mid])
low = mid + 1;
else break;
}
물론 이진 검색이지만 복잡성을 발견하고 싶습니다.알고리즘의 시간 복잡성을 설명하십시오.
코드를 보는 것만으로 Big-O를 어떻게 찾을 수 있습니까?
while
루프의 경우 평균 N/2
번 실행됩니까?
그러나 바이너리 검색을 모르는 경우 코드를보고이 코드의 Big-O를 어떻게 찾을 수 있습니까?