• 主定理复习


    主定理复习

    符号

    (Theta),读西塔,严格等于
    (O),读殴,上界,贴紧为未知
    (o),读殴,小于,不贴紧
    (Omega),下界,大于等于,贴近未知
    (w),读同上,下界,大于,不贴紧

    假设有递推公式
    (T(n)=aT(frac{n}{b})+f(n))

    三种情况:

    • 对某个数(varepsilon>0),有(f(n)=O(n^{(log_ba)-varepsilon})),则(T(n)=Theta(n^{log_ba}))
    • 若存在常数(kge0),有(f(n)=Theta(n^{log_ba}log_2^kn)),则(T(n)=Theta(n^{log_ba}log_2^{k+1}\,n))
    • 若存在常数(varepsilon>0),有(f(n)=Omega(n^{log_ba+varepsilon})),且对于某个常数(c<1)和所有足够大的(n)(af(frac{n}{b})le cf(n)),则(T(n)=Theta(f(n)))

    例子

    (T(n)=9T(frac{n}{3})+n)
    (a=9,b=3,f(n)=n),因为有(varepsilon =1, f(n)=n=O(n^{log_39-1})),满足情况1,所以(T(n)=Theta(n^2))

    [NOIP2017初赛] (T(n)=2T(n/2)+nlogn,T(1)=1)
    (a=2,b=2,k=1,f(n)=Theta(nlogn)),所以(T(n)=Theta(nlog_2^2n))

    [NOIP2016初赛] (T(n)=2T(n/4)+sqrt{n},T(1)=1)
    (a=2,b=4,k=0,f(n)=sqrt{n}=Theta(n^{log_42}log_2^0n)),所以(T(n)=Theta(sqrt{n}log_2n))

  • 相关阅读:
    NSOperation
    iOS 数据持久化方案
    JS高级学习历程-15
    JavaScript进阶
    JavaScript进阶
    JavaScript进阶
    JS高级学习历程-14
    JavaScript进阶
    Linux 添加硬盘并分区
    VxWorks实验八 信号
  • 原文地址:https://www.cnblogs.com/santiego/p/11628098.html
Copyright © 2020-2023  润新知