표준 바이너리 검색 알고리즘에 대해이 재귀 코드를 작성했습니다. 비교 카운터에 언제 +1을 추가해야하는지 궁금합니다. 아래의 의사 코드바이너리 검색 횟수 비교
Inputs A: Array of Data;
key:Data; L,R:Integer;
Variables m:Integer;
Returns m:Integer;
Begin
If R<L then return -1; fi
m:= (R+L)/2
if key = A[m] then return m; fi
if key > A[m] then
return binSearch(A,key,m+1,R);
Else
return binSearch(A,key,L,m-1);
fi
End
첫 번째 if 문에서 L과 R을 비교하면 비교할 수 있습니까? 조금 혼란 스러웠다.
죄송합니다. 이해가되지 않습니다. 이 알고리즘에서 비교 횟수를 계산하는 방법을 묻는 질문 – Tom
@Tom 재귀 트리를 알고 있습니까? 내가 생각하는 것을 이해하는 것이 도움이 될 것이다. – user1732445