Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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/3/arrays/13.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
Java 查找数组中重复元素时嵌套for循环的2的大Oh表示法_Java_Arrays_Loops_Duplicates_Big O - Fatal编程技术网

Java 查找数组中重复元素时嵌套for循环的2的大Oh表示法

Java 查找数组中重复元素时嵌套for循环的2的大Oh表示法,java,arrays,loops,duplicates,big-o,Java,Arrays,Loops,Duplicates,Big O,查询:在上述嵌套for循环中-->第一个for循环有n次迭代 第二个循环有n-1次迭代 所以发生了n(n-1)次迭代。 但实际上是n(n-1)/2倍。想知道这是怎么一个又一半的时间。需要帮助。嵌套循环算法的最坏情况时间复杂度为O(n2) 当进行渐近分析时,低阶项和常数因子被忽略,因此无论你是否有n(n-1),n*(n-1)/2,n*(n-5)/6等等。重要的一点是,你在这些表达式中有最高阶,这就是时间复杂性。大o不关心常数。而大o只关心增长最快的价值。n(n-1)/2==n^2@Siva如果你已

查询:在上述嵌套for循环中-->第一个for循环有n次迭代 第二个循环有n-1次迭代

所以发生了n(n-1)次迭代。
但实际上是n(n-1)/2倍。想知道这是怎么一个又一半的时间。需要帮助。

嵌套循环算法的最坏情况时间复杂度为O(n2)


当进行渐近分析时,低阶项和常数因子被忽略,因此无论你是否有
n(n-1)
n*(n-1)/2
n*(n-5)/6
等等。重要的一点是,你在这些表达式中有最高阶,这就是时间复杂性。

大o不关心常数。而大o只关心增长最快的价值。n(n-1)/2==n^2@Siva如果你已经知道了,那么我不确定你的问题是什么?它实际上不是
n*(n-1)
iterations。迭代次数为
(n-1)+(n-2)+…+(n-(n-1))
简化为
n*(n-1)/2
@NickParsons,这是一个打字错误,现在更新。感谢您解释中间循环迭代。@Davinci-heyyy上尉得到了它,谢谢最后Cheerrszz:)假设n=4,就像打印3+2+1=6次语句,得到4(4-1)/2=12/2-->6:)谢谢大家。
for i=1 to n
 for j=i+1 to n
  if A[i]==B[j] return TRUE
return FALSE