Algorithm 基于log的算法运行时间分析

Algorithm 基于log的算法运行时间分析,algorithm,big-o,Algorithm,Big O,我这里有以下算法伪代码: for (j = 2 to n){ k=1 while (k<j^2) { k=2*k } } for(j=2到n){ k=1 while(k内部while循环是Theta(logj^2)=Theta(2logj)=Theta(logj) 所以总运行时间是θ(2(log2+log3+…+logn))=Theta(nlogn)内部while循环是θ(logj^2)=Theta(2logj)=Theta(logj) 所以总运行时间是θ(2(log2+log

我这里有以下算法伪代码:

for (j = 2 to n){
 k=1
 while (k<j^2) {
  k=2*k
 }
}
for(j=2到n){
k=1

while(k内部while循环是
Theta(logj^2)=Theta(2logj)=Theta(logj)


所以总运行时间是θ(2(log2+log3+…+logn))
=
Theta(nlogn)
内部while循环是θ(logj^2)=Theta(2logj)=Theta(logj)


所以总运行时间是θ(2(log2+log3+…+logn))=
Theta(nlogn)

您可以使用Sigma表示法

有关如何将对数与西格玛相结合的参考资料如下:


您可以使用西格玛符号

有关如何将对数与西格玛相结合的参考资料如下:


尝试将while循环的迭代计数形式化为一个数学序列。内部循环将如下运行:
1+4+9+16+25+36
这意味着四分法因子,因此插入n,您看到它执行了多少次了吗?它不是logN,如果是logN,它是
n/2
。尝试将迭代的计数形式化作为一个数学序列,while循环的一部分。内部循环的运行方式如下:
1+4+9+16+25+36
,这意味着四分法因子,那么插入n,您看到它执行了多少次了吗?它不是logN,如果它是logN,它是
n/2