Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 指数条件下的大O/时间复杂度_Java_Loops_For Loop_Big O - Fatal编程技术网

Java 指数条件下的大O/时间复杂度

Java 指数条件下的大O/时间复杂度,java,loops,for-loop,big-o,Java,Loops,For Loop,Big O,有人能教我当你的for循环中有一个多项式作为条件时,如何计算时间复杂度吗?例如 for(i = 1; i < n^4; i = n * i){ ... } (i=1;i

有人能教我当你的for循环中有一个多项式作为条件时,如何计算时间复杂度吗?例如

for(i  = 1; i < n^4; i = n * i){
...
}
(i=1;i由于在每次迭代中,
i
乘以
n
,因此将有
4次
迭代,并且假设每次迭代的工作量恒定,时间复杂度将为
O(1)

在第一次迭代中,
i=1

在第二次迭代中,
i=n

在第三次迭代中,
i=n^2

在第四次迭代中,
i=n^3


然后我到达
n^4
,我们退出循环。

因为
i
在每次迭代中都乘以
n
,所以会有
4
次迭代,并且假设每次迭代做的工作量恒定,时间复杂度将是
O(1)

在第一次迭代中,
i=1

在第二次迭代中,
i=n

在第三次迭代中,
i=n^2

在第四次迭代中,
i=n^3

然后我到达
n^4
,我们退出循环。

基于此(最后一张幻灯片):

因此,基于此(最后一张幻灯片),T(n)是O(1)



因此,T(n)是O(1)

试着在一张纸上遵循算法,你会发现如何计算算法的时间复杂度。我认为它是多项式,而不是指数,甚至比多项式更好;它是常量。
n^4
在Java中不是指数运算,而是按位异或运算。试着在一张纸上遵循算法,你会发现如何计算算法的时间复杂度。我认为它是多项式,而不是指数运算,甚至比多项式更好;它是常量。
n^4
在Java中不是指数运算,它是按位异或运算。所以当提到这个问题时,关于x^n的指数条件,n=迭代次数吗?@12341234检查
i
变量在每次迭代中是如何增加的。这将帮助您定义计算O时间复杂度的公式。@12341234不,迭代次数不是n的函数。这就是为什么它是常数-O(1)。@LuiggiMendoza谢谢,我明白了。非常感谢。我重写了每个步骤/迭代#thestruggleisreal@Eran我只是想知道,由于时间复杂性,我可以把它写成T(n)=4=O(4),因为有4个迭代?对不起,我真的不熟悉BigO符号。当提到这个问题时,关于指数条件,其中x^n,n=迭代次数吗?@12341234检查
i
变量在每次迭代中是如何增加的。这将帮助您定义计算O时间复杂度的公式。@12341234不,迭代次数不是n的函数。这就是为什么它是常数-O(1)。@LuiggiMendoza谢谢,我明白了。非常感谢。我重写了每个步骤/迭代#thestruggleisreal@Eran我只是想知道,由于时间复杂性,我可以把它写成T(n)=4=O(4),因为有4个迭代?对不起,我真的不熟悉BigO符号