Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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/7/wcf/4.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
Time complexity 最佳情况和最坏情况的时间复杂度_Time Complexity_Complexity Theory - Fatal编程技术网

Time complexity 最佳情况和最坏情况的时间复杂度

Time complexity 最佳情况和最坏情况的时间复杂度,time-complexity,complexity-theory,Time Complexity,Complexity Theory,给定数组A的以下伪代码 x = 0 for i = 0 to n - 2 for j = i to n - 1 if A[i] > A[j]: x = x + 1 return x 最坏情况的复杂度是O(n^2)还是θ(n^2),为什么?我似乎不明白两者之间的区别 至于最佳情况复杂度,它是否与最坏情况复杂度相同,因为该算法仍然必须运行相同的行?该算法中的主要操作是比较A[i]>A[j]。此比较总是进行n^2次 O(n^2)表示这是最坏情况

给定数组A的以下伪代码

x = 0
  for i = 0 to n - 2
    for j = i to n - 1
       if A[i] > A[j]:
          x = x + 1
  return x
最坏情况的复杂度是O(n^2)还是θ(n^2),为什么?我似乎不明白两者之间的区别


至于最佳情况复杂度,它是否与最坏情况复杂度相同,因为该算法仍然必须运行相同的行?

该算法中的主要操作是比较
A[i]>A[j]
。此比较总是进行n^2次

O(n^2)表示这是最坏情况下的复杂性。若你们使用O符号,你们会说这种复杂性在最好的情况下会更好

θ(n^2)表示这是所有情况下的复杂性

所以答案是:复杂性是θ(n^2),因为在最好和最坏的情况下它都是n^2


参见:和

此算法中的主要操作是比较
A[i]>A[j]
。此比较总是进行n^2次

O(n^2)表示这是最坏情况下的复杂性。若你们使用O符号,你们会说这种复杂性在最好的情况下会更好

θ(n^2)表示这是所有情况下的复杂性

所以答案是:复杂性是θ(n^2),因为在最好和最坏的情况下它都是n^2


请参阅:谢谢您的帮助!比较总是执行(n-1)*(n+2)/2次,当然是θ(n^2)。感谢您的帮助!比较总是执行(n-1)*(n+2)/2次,当然是θ(n^2)