主定律

给出递推公式    T( n ) = a * T( n/b )  + f( n )

                     af( n/b )为每层代价                                    f(n) 为每层合并和求解的代价

    1. 若给出的

            f(n) = O( n * log b [ a - C ] ) 成立   =>

                               T( n ) = θ(n ^ log b [a] )                ( C为常数 )

ex:      此时表明树的总代价由叶节点决定(af(n/b)渐进小于C*fn)

                           n ^ log b [a]  为叶节点的数量

    2.若给出的

            f( n ) = O( n * logb [a] )   成立   =>

                               T( n ) = θ( n * log b [a] * lg [n])

ex:     此时表明树的代价平均分布在每层

                   (n ^ log b [a] ) * lg n        这里的lg n 是渐进求解的结果

    3. 若给出的

              f( n ) = Ω( n  ^ log b [a+C]),且对常数C<1,有足够大的n都满足

                        af(n/b) <= Cf(n)      =>

                T( n ) = θ( f(n) ) 

ex:     此时表明树的代价由根节点决定

每层都是 const * f(n)                    

你可能感兴趣的:(主定律)