我有这个代码要分析:
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
System.out.println(j);
}
}
此代码的时间复杂度是多少?
假设n=10:
对于外循环的每次迭代,内循环都会运行n次,即10*10 = 100次.而外循环运行n次,即10次.那么时间复杂度不是O(n)*O(n²)=O(n³)吗?我认为它是O(n²).
我有这个代码要分析:
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
System.out.println(j);
}
}
此代码的时间复杂度是多少?
假设n=10:
对于外循环的每次迭代,内循环都会运行n次,即10*10 = 100次.而外循环运行n次,即10次.那么时间复杂度不是O(n)*O(n²)=O(n³)吗?我认为它是O(n²).
我认为它是O(n²).
O𝑛
外循环确实有RST迭代,但如果您已经将total个内循环迭代计算为RST²,那么它是加法,而不是相乘.因此,通过这种方法,你可以说它是O𝑛𝑛𝑛
但由于数字中的printing名,情况变得复杂.如果我们只是掩盖这一点,并考虑打印一个数字具有O(1)时间复杂性,那么我们就完成了.但事实是,印刷工作量是由要印刷的字符数决定的.用五位数字打印数字比用一位数字打印数字所需的时间更长.
数字RST中的位数为O𝑗𝑛因此,总共我们有O𝑛+ logð)𝑛𝑛𝑛𝑛𝑛