다음 탐색 알고리즘을 이용하여 아래 리스트에서 키(key) 34를 찾을 경우, 필요한 반복 연산 횟수는? (단, low 변수에는 0, high 변수에는 15가 전달된다)
int a_search(int list[], int key, int low, int high) {
int middle;
while ( low <= high ) {
middle = (low + high)/2;
if ( key == list[middle] )
return middle;
else if ( key > list[middle] )
low = middle + 1;
else
high = middle - 1;
}
return -1;
}
- ①3
- ②4
- ③5
- ④6
선지를 골라 바로 채점해 보세요.
정답 ②
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)