如果您的while循环是:
3 while i < n log n + 14 for j = 1 to n n log n5sum = sum + j n log n6 i = 2i log n
然后,是的,您在计算复杂度方面是正确的。代码的复杂性确实是O(nlogn)。
编辑:虽然我很好奇你在这里想要做什么。您正在计算第1个n元素的总和logn。
因此,返回值将类似于 n*(n+1)/2 * logn
解决方法分析此伪代码的时间复杂度。在右边,我估算每行的运行次数。我不确定是否要使用log n,n log n或仅将n用作while循环。.请帮助
times1 sum = 012 i = 1 1 3 while i ≤ n log n + 14 for j = 1 to n n log n5 sum = sum + j n log n6 i = 2i log n7 return sum 1
结果为:2 n log + 2log n + 4
从而:O(n log n)
这样对吗 ?