人人终身学习知识网~是各类综合知识资源信息分享,提升综合素质与提高知识技能的终身学习网络平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

如果一个算法的时间复杂度可表示成下面的公式,试计算其复杂度.(2)T(n)=T(」n/2」)+T(「n/2「)+1;

[复制链接]

问题:如果一个算法的时间复杂度可表示成下面的公式,试计算其复杂度.(2)T(n)=T(」n/2」)+T(「n/2「)+1;

答案:↓↓↓

网友采纳  先考虑简化的情形  T(2n)=2T(n)+1=>T(2n)+1=2(T(n)+1)  这样当n=2^k时就转化到等比数列  T(2^k)+1=C*2^k,即T(n)=Cn-1,C是一个正常数  然后用归纳法证明不仅是2的幂,对一般的n上述结论也成立  如果只需要大O记号的话T(n)=O(n)  当然,对于很多算法复杂度分析,没必要如此细致,对n=2^k讨论完之后只要再证明T(n)单调也就足够了
回复

使用道具 举报

小黑屋/人人终身学习知识网~是各类综合知识资源信息分享,提升综合素质与提高知识技能的终身学习网络平台

Powered by 5wangxiao

© 2007-2021 5wangxiao.Com Inc.

快速回复 返回顶部 返回列表