如果一个算法的时间复杂度可表示成下面的公式,试计算其复杂度.-查字典问答网
分类选择

来自郭航的问题

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

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

1回答
2020-12-23 14:57
我要回答
请先登录
曹乃森

  先考虑简化的情形

  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)单调也就足够了

2020-12-23 15:00:47

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •