浅谈 主定理 master theorem

打卡+坚持:2019.11.1
今日语录:做一个坚定的人,与时间赛跑,拖着世界前行

T(n) = a*T(n/b)+f(n)
其中a>=1, b>1,并且a和b是常数,f(n)是一个大于0 的递增函数( asymptotically positive function),不知道asymptotically positive function翻译对了没有
有三种可能的情况:
浅谈 主定理 master theorem_第1张图片
第1和3种情况可以理解为:
T(n) = O(max(f(n), nlogb(a)))

接下来举几个例子来说明吧,顺便自己也练习一下
1.T(n) = 3T(n/2) + n2

a = 3, b = 2, f(n)=n2
nlog32 < n2
即满足条件3
所以T(n) = O(n2)

2.T(n) = 4T(n/2) + n2
a = 4, b = 2, f(n) = n2
nlog24 = f(n)
满足条件2
可知k = 0, 所以T(n) = O(n2 logn)

3.T(n) = T(n/2) + 2n
a = 1, b = 2, f(n) = 2n
nlog21 < 2n
满足条件3,所以T(n) = O(2n)

4.T(n) = 2n T(n/2) + nn
a = 2n , b = 2, f(n) = nn
注意:此处不满足,因为a不是常数
所以T(n) = O(2n T(n/2) + nn)

5.T(n) = 16T(n/4) + n
a = 16, b = 4, f(n) = n
nlog416 = n2 >f(n) = n
满足条件1,所以T(n) = O(n2)

6.T(n) = 2T(n/2) + nlogn
a = 2, b = 2, f(n) = nlogn
nlog22 < nlogn
所以T(n) = O(nlogn)
便给个超赞链接:
http://people.csail.mit.edu/thies/6.046-web/master.pdf~

如有错误和不足,欢迎指正!!!谢谢大家!!!

你可能感兴趣的:(NLP自然语言处理)