归并排序算法的最坏情况运行时间由以下递推关系描述:
⌈ 1 , if n = 1
T(n) = | 2T(n/2)+ n , otherwise
⌊
鉴于递归方程评估为 –
(A) 2 k T(n/2 k ) + kn
(B) 2 k T(n k /2) + kn
(C) nk T(n/2 k )
(D) T(n/2 k ) + kn答案:(一)
解释:
T(n) = 2T (n/2) + n
= 21 T(n/21) + 1.n [ k = 1]
= 2k-1 T(n/2k-1) + (k-1)n
= 2k-1 (2T(n/2k + n/2k-1) + (k-1)n
= 2k T(n/2k) + kn
选项(A)是正确的。
这个问题的测验