T(n) = T(n/2) + O(n)

发布时间:2024-12-20 06:16

Word新建页面,Ctrl + N #生活技巧# #数码产品使用技巧# #办公软件快捷键#

最新推荐文章于 2022-09-24 21:59:54 发布

L_J_SHOU 于 2015-02-14 23:08:00 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

先通过一个简单的例子,T(n) = T(n/2) + O(n),
那么T(n)应该的等于多少呢?
1. 给个直观的例子:
自从看到 An apple a day, keep doctors away, 这句谚语,每天我都会吃苹果。
但我吃苹果的方式很特殊,先吃半个,再吃剩下的半个的一半,再吃剩下的半个的一半。。。。
结论: 我永远都吃不完这一个苹果。
其实这个例子就给出了T(n)的上界是O(n):
每次我吃掉的一半就是O(n),剩下T(n/2),上界就是我最初的一个苹果也就是O(n)
2. 数学推导
T(n)<= n + n/2 + n/4 +…+1 = 2n – 2 = O(n)
3. 主定理(参考算法导论)

直接得到复杂度应该是 O(n)
大家可以适当的地熟悉下主定理,对于快速判别复杂度非常有好处。
而且对算法设计也会有一定的启发意义。

网址:T(n) = T(n/2) + O(n) https://www.yuejiaxmz.com/news/view/523960

相关内容

扭矩计算T=9550*P/n
设n维向量组α 1 =(1,0,…,0) T ,α 2 =(1,1,0,…,0)
设A为n阶矩阵n为奇数设A为n阶矩阵,n为奇数,且满足AA^T= 爱问知识人
n % ( pow( p , 2) ) ===0
设某算法完成对n个元素进行处理,所需的时间是T(n)=100nlgn+200n+
电机扭矩计算公式T=9550*P/n
《数据结构与算法》—— O(3N)=O(N) ?
如果矩阵满足AB=BA,则m,n,s,t应满足的条件为
设X1,…,Xn是取自正态总体N(0,1)一个简单随机样本,则下列结论中错误的是()A.n.X~N(0,1)B.(n
xn(2^n+1)

随便看看