求解分治算法的递推关系

  • 相关概念
    分治递推关系:如果 f(n) 表示求解规模为 n 的问题所需的云算数,则 f 满足递推关系
    f(n)=af(n/b)+g(n)
  • 相关定理
    【定理1】设 f 是满足递推关系
    f(n)=af(n/b)+c

    的增函数,其中 n b 整除, b1,b 是大于1的正整数, c 是一个正实数。那么
    f(n)={O(nlogab)a>1O(logn)a=1

    而且,当 n=bk (其中k是正整数), a1
    f(n)=C1nlogab+C2

    其中 C1=f(1)+c/(a1)C2=c/(a1)

【定理2(主定理)】设 f 是满足递推关系

f(n)=af(n/b)+cnd

的增函数,其中 n=bkk 是一个正整数, a1,b 是大于1的整数, c d 是实数,满足 c 是正的且 b 是非负的。那么
f(n)=O(nd)a<bdO(ndlogn)a=bdO(nlogab)a>bd

可见,主定理是定理1的一般性推广。

你可能感兴趣的:(离散数学)