Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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_Complexity Theory - Fatal编程技术网

Algorithm 代码的时间复杂度是多少?

Algorithm 代码的时间复杂度是多少?,algorithm,complexity-theory,Algorithm,Complexity Theory,以下代码的时间复杂度是否为O(NV^2) 是的,每当我们谈论O-notation,我们总是想到上界(或最坏情况) 因此,此代码的复杂性将等于 O(N*V*maximum_value_of_A) =O(N*V*V) // since,maximum value of A=V,so third loop can maximally iterate from 1 to V---V times =O(N*V^2). 当然它是O(NV^2),因为它意味着代码永远不会比这慢。因为max(A)=V,你可

以下代码的时间复杂度是否为O(NV^2)


是的,每当我们谈论
O-notation
,我们总是想到上界(或最坏情况)

因此,此代码的复杂性将等于

O(N*V*maximum_value_of_A)
=O(N*V*V)   // since,maximum value of A=V,so third loop can maximally iterate from 1 to V---V times
=O(N*V^2).
当然它是O(NV^2),因为它意味着代码永远不会比这慢。因为max(A)=V,你可以说最坏的情况是A的每个索引都有V。如果是这样,那么复杂性可以限制在O(NV*V)


您可以非常粗略地计算k循环的
复杂度可以是O(avg(A))。这让我们可以说整个函数是ω(NV*avg(A)),其中avg(A)就像你说的那样。唯一的例外可能是,如果A[i],即使最大值为V,例如,它将始终“平均”(摊销复杂性)不变。这里不做详细介绍,这里有很多很好的资源。当然,还有大学。例如Pawell所说的,假设A除了一个值V之外,全是零。内部循环只会为i运行,所以总时间复杂度为O(NV+V^2)。是的,时间复杂度为O(NV^2)。仅此而已。
O(N*V*maximum_value_of_A)
=O(N*V*V)   // since,maximum value of A=V,so third loop can maximally iterate from 1 to V---V times
=O(N*V^2).