BinarySearch is a Divide-and-Conquer algorithm for finding a given \"key\" in a
ID: 3923108 • Letter: B
Question
BinarySearch is a Divide-and-Conquer algorithm for finding a given "key" in a sorted array (or finding out it does not exist): (or finding out it does not exist): procedure BlNARYSEARCH(A, p, r, key) if p key then return BINARYSEARCH(A, p, q - 1, key) else return BlNARYSEARCH(A, q + 1, r, key) else return NIL Formulate the recurrence that represents the runtime of BlNARYSEARCH. Using Master Method, provide a tight asymptotic bound for the solution of this recurrence. Make sine to specify the Master Theorem case that applies. If we change Line 2 of this procedure to q leftarrow [9(p + r)/10], what would be the runtime of the new algorithm?Explanation / Answer
a)
The time complexity of Binary Search can be written as
T(n) = T(n/2) + c
b)
Mater theorem:
a=1, b=2 c=0 f(n) = c
logba = 0
so, loaba = c
If f(n) = (n^c) where c = Logba then T(n) = (n^cLog n)
Big-O: O(logn)
c)
so, in this case we divide array in two parts:
one part contains n/10 elemnts and other part contains 9n/10
t(n) = t(n/10)+t(9n/10)+c
Big-O = O(n)
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.