n为正整数,给出算法关于n的时间复杂度

2025-01-07 02:51:16
推荐回答(3个)
回答1:

显然2t(n)应该是2T(n),我怀疑这个出版社的校对人员偷工减料

i=2t(n)+1<=n-1是为了算出i在for内部所容许的最大值内时t(n)的范围,因为i是永远增大的
然后解得t(n)<=n/2-1

i+=2表示i = i+2

回答2:

显然2t(n)应该是2T(n),我怀疑这个出版社的校对人员偷工减料
i=2t(n)+1<=n-1是为了算出i在for内部所容许的最大值内时t(n)的范围,因为i是永远增大的
然后解得t(n)<=n/2-1
i+=2表示i
=
i+2

回答3:

i+=2为i=i+2;

很简单,比如你输入10,则循环执行5次,i=(1、3、5、7、9)

近似得i=(n/2)+1;(i是整数,要向下取整),t(n)<=n/2-1

所以t(n)=o(n)