Сколько сравнений будет выполнять бинарный поиск в худшем случае с использованием этого алгоритма?

Привет, ниже приведен псевдокод для моего реализация бинарного поиска:

Input: (A[0...n-1], K)
begin
   l ← 0; r ← n-1
   while l ≤ r do
      m ← floor((l+r)/2)
      if K > A[m] then l ← m+1
      else if K < A[m] then r ← m-1 else return m
      end if 
   end while
   return -1 // key not found
end

Мне просто интересно, как рассчитать количество сравнений, которые эта реализация сделает в худшем случае для отсортированного массива размера n?

Будет ли количество сравнений = lg n + 1? или что-то другое?

18
задан Harry Tiron 13 May 2012 в 11:58
поделиться