Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.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
Algorithm 时间复杂性分析。选择运算符以计算代码行的运行次数_Algorithm_Analysis_Pseudocode - Fatal编程技术网

Algorithm 时间复杂性分析。选择运算符以计算代码行的运行次数

Algorithm 时间复杂性分析。选择运算符以计算代码行的运行次数,algorithm,analysis,pseudocode,Algorithm,Analysis,Pseudocode,分析了该伪码的时间复杂度。右边是我对每条线路运行次数的看法。我不确定是使用log n、n log n还是简单地使用n作为while循环..请帮助 times 1 sum = 0 1 2 i = 1 1 3 while i ≤ n log n + 1 4 for j = 1 to n

分析了该伪码的时间复杂度。右边是我对每条线路运行次数的看法。我不确定是使用log n、n log n还是简单地使用n作为while循环..请帮助

                                times
1 sum = 0                        1
2 i = 1                          1  
3 while i ≤ n                 log n + 1
4     for j = 1 to n           n log n
5     sum = sum + j            n log n
6 i = 2i                       log n
7 return sum                     1
这将导致:2 n对数+2对数n+4

因此:O(n logn)

这是正确的吗

如果您的while循环是:

3 while i < n                 log n + 1
4     for j = 1 to n           n log n
5        sum = sum + j         n log n
6     i = 2i                   log n
3,而i
那么是的,你计算复杂度是正确的。代码的复杂性确实是
O(nlogn)

编辑:
虽然我很好奇你想在这里做什么。您正在计算第一个
n
元素
logn
时间的总和


因此,返回值类似于
n*(n+1)/2*logn

我的任务是假设每行占用一个时间单位。这个练习是识别不同类型的语句(while/for)循环,给它们正确的“times”值。大的Oh符号足以解决这个练习(在添加值之后)。谢谢你的帮助PS:我在第四行加上了“小于或等于”的符号