02算法-渐近符号,递归及其解法

算法 渐近符号,递归和解法

本书是基于渐近符号,递归及其解法第二节课的总结。主要分析了三种渐近符号看,以及三种解递归的方法

渐近符号

Ω ( n 2 ) \Omega(n^2) 表示当n足够大的时候,运行时间一定小于 n 2 n^2 ,是下界
O ( n 2 ) \Omicron(n^2) 表示小于当n足够大的时候,运行时间一定小于 n 2 n^2 ,是上界
Θ ( n 2 ) \Theta(n^2) 表示一种紧约束,运行时间与 n 2 n^2 成正比,当且仅当 f ( n ) = O ( n 2 ) a n d f ( n ) = Ω ( n 2 ) f(n) = \Omicron(n^2) and f(n) = \Omega(n^2)
还有 ο \omicron 表示小于, ω \omega 表示大于

递归的三种解法

其中代换法很蠢,我们基本用不到,当我们分析的时候主要使用递归树主方法,主方法还可以倒推来设计算法

代换法

有这样一个递归的式子: T ( n ) = 4 T ( n 2 ) + n T(n) = 4T(\frac{n}{2})+n
Two step:guess,assume and verify
guess: T ( n ) = O ( n 3 ) T(n) = \Omicron(n^3)
assume and verify: replace of T ( n ) T(n) and T ( n / 2 ) T(n/2) with O ( n 3 ) \Omicron(n^3) and verify whether the equation is satisfied
接下来会使用其它的假设来寻找更加接近的结果

递归树

recursive tree 是最简单和直接的方法
有这样一个递归的式子: T ( n ) = T ( n / 4 ) + T ( n / 2 ) + n 2 T(n) = T(n/4) + T(n/2) + n^2
next I will use left represent left child of the root and right…
the root is n 2 n^2 the left is T ( n / 4 ) T(n/4) , the right is T ( n / 2 ) T(n/2)
then we will replace the leaf T(n/4) with T ( n / 16 ) + T ( n / 8 ) + n / 4 2 T(n/16) + T(n/8) + {n/4}^2 and the same as &T(T/2)&
Finally we will get a recursive tree like this:
recursive tree
我们可以由级数的公式求出最终的结果

主方法

主方法有很多的限制,首先它是针对形如这样的式子的解法 T ( n ) = a T ( n / b ) + f ( n ) T(n) = aT(n/b) + f(n) and f ( n ) > 0    w h e n     n > n 0 f(n) > 0\ \ when\ \ \ n > n_0
有如下的情况:
case1:
for f ( n ) = O ( n log b a ε ) f(n) = \Omicron(n^{\log_ba-\varepsilon}) f o r   s o m e k > = 0 for\ some\quad k >= 0
T ( n ) = Θ ( n log b a ) T(n) = \Theta(n^{\log_ba})
case2:
f ( n ) = Θ ( n log b a ( log 2 n ) k ) f(n) = \Theta(n^{\log_ba}(\log_2n)^k) f o r   s o m e k > = 0 for\ some\quad k >= 0
T ( n ) = Θ ( n log b a ( log 2 n ) k + 1 ) T(n) = \Theta(n^{\log_ba}(\log_2n)^{k+1})
case3:
f ( n ) = Ω ( n log b a ε ) f(n) = \Omega(n^{\log_ba-\varepsilon}) f o r   s o m e k > = 0 for\ some\quad k >= 0 and   a f ( n / b ) < ( 1 ε ) f ( n ) \ af(n/b) < (1-\varepsilon)f(n)
T ( n ) = Θ ( f ( n ) ) T(n) = \Theta(f(n))
一些应用会在下一节给出

发布了4 篇原创文章 · 获赞 4 · 访问量 136

猜你喜欢

转载自blog.csdn.net/weixin_40692400/article/details/104690816