对于以下每个程序,让T(n)为运行时间。求T(n)的阶数(即找到f(n)使得T(n)∈(f(n))。
Procedure BinarySearch(table T [a . . . b], int k):
if a > b then
return -1
end if
middle ← ⌊(a + b)/2⌋
if T [middle] = k then
return middle
end if
if k < T [middle] then
return BinarySearch(T [a . . .middle], k)
else
return BinarySearch(T [middle . . . b], k)
end if
我知道如何查找简单函数的运行时间,但由于这包括递归调用,所以我遇到了麻烦。