📜  门| GATE-IT-2004 |第58章

📅  最后修改于: 2021-06-28 23:24:56             🧑  作者: Mango

考虑一个递归算法列表和一个递归关系列表,如下所示。每个递归关系仅对应一个算法,并用于推导该算法的时间复杂度。

Recursive Algorithm Recurrence Relation
P. Binary search I. T(n) = T(n-k) + T(k) + cn
Q. Merge sort II. T(n) = 2T(n-1) + 1
R. Quick sort III. T(n) = 2T(n/2) + cn
S. Tower of Hanoi IV. T(n) = T(n/2) + 1

(A) P-II,Q-III,R-IV,SI
(B) P-IV,Q-III,RI,S-II
(C) P-III,Q-II,R-IV,SI
(D) P-IV,Q-II,RI,S-III答案: (B)
说明:这些是一些标准算法的示例,其
合并排序:T(n)= 2T(n / 2)+Θ(n)。在情况2中,因为c为1,Log b a]也为1,解为Θ(n Logn) //时间复杂度可以使用主方法进行评估

二进制搜索:T(n)= T(n / 2)+Θ(1)。同样在情况2中,因为c为0,Log b a也为0,解为Θ(Logn) //时间复杂度可以使用主方法进行评估

快速排序:QuickSort花费的时间通常可以表示为T(n)= T(k)+ T(nk-1)+ \theta (n)

河内塔:T(n)= 2T(n-1)+1

阅读更多信息:https://www.geeksforgeeks.org/analysis-algorithm-set-4-master-method-solving-recurrences/
这个问题的测验