Runtime 2个嵌套while循环的运行时间

Runtime 2个嵌套while循环的运行时间,runtime,nested,while-loop,Runtime,Nested,While Loop,我还有一个关于循环的问题。我知道2 for循环使运行时为O(n^2),因为您在列表中迭代了n*n次 但是两个while循环呢 While (array1 is not empty) if(~~~) do ~~~ else(~~~) do ~~~ while (array2 is not empty) if(~~~) do ~~~ else(~~~) do ~~~ 因此,while循环嵌套在

我还有一个关于循环的问题。我知道2 for循环使运行时为O(n^2),因为您在列表中迭代了n*n次

但是两个while循环呢

While (array1 is not empty)

    if(~~~)
        do ~~~
    else(~~~)
        do ~~~

  while (array2 is not empty)

    if(~~~)
        do ~~~
    else(~~~)
        do ~~~
因此,while循环嵌套在另一个while循环中。这是否也会使运行时n^2,因为我们迭代了第一个循环n次,第二个循环n次?任何帮助都将不胜感激


谢谢

如您所说,嵌套for循环在O(n²)处运行。确定其中两个按顺序运行的速度的符号为O(2n²)。运行两个while循环n次的表示法是O(2n)。

正如您所说,嵌套for循环以O(n²)运行。确定其中两个按顺序运行的速度的符号为O(2n²)。运行两个while循环n次的表示法是O(2n)。

在这种情况下,它们看起来不像是嵌套的。有两个循环,由if/else分隔。在这种情况下,它将是O(n)


如果while循环是嵌套的并且基于输入大小,那么它实际上是O(n^2)。使用什么“类型”的循环并不重要,重要的是在大小为n的输入上循环。在这种情况下,它们看起来不像是嵌套的。有两个循环,由if/else分隔。在这种情况下,它将是O(n)

while (array1 isn't empty){
     while (array2 isn't empty){
         //code goes here
     }
}
如果while循环是嵌套的并且基于输入大小,那么它实际上是O(n^2)。使用什么“类型”的循环并不重要,重要的是在大小为n的输入上循环

while (array1 isn't empty){
     while (array2 isn't empty){
         //code goes here
     }
}
如果第一个数组有n个元素,第二个数组有m个元素,则运行时为O(n*m)

在n和m相同的特殊情况下,则为O(n*n)

在这种情况下,运行时为O(n)+O(m),如果n大于或等于m,则为O(n);如果m大于或等于n,则为O(m)

如果第一个数组有n个元素,第二个数组有m个元素,则运行时为O(n*m)

在n和m相同的特殊情况下,则为O(n*n)


在这种情况下,运行时为O(n)+O(m),如果n大于或等于m,则为O(n);如果m大于或等于n,则为O(m)

您需要指出迭代是如何发生的-每次循环都会减少两个数组的大小吗?此外,O(n^2)表示时间复杂性,而不是运行时-运行时取决于您正在做什么,你可以用
time
/profiler/stop watch/calendar解决这个问题。你需要指出迭代是如何发生的——每次循环都会减少两个数组的大小吗?另外,O(n^2)表示时间复杂度,而不是运行时——运行时取决于你在做什么,你可以用
时间
/profiler/stop watch/calendar来计算。我想你需要一个更好的代码示例,它看起来像是在连续处理两个数组。我在上面的回答中假设了这一点。一个更好的代码示例将有助于澄清这一点。我认为您需要一个更好的代码示例,它看起来像是连续使用2个数组。我在上面的回答中假设了这一点。一个更好的代码示例将有助于澄清这一点。您不能只编写
while
而不是
for
并使用
for
循环语法。几乎每种语言中都有一个
while
循环,它的参数只有一个布尔表达式。你不能只写
while
而不写
for
并使用
for
循环语法。几乎每种语言中都有一个
while
循环,它的参数只有一个布尔表达式。非常感谢。我认为我的编辑是一个错误,因为第二个while循环应该在第一个while循环内。但我现在明白了,谢谢大家。你好,我现在明白了。非常感谢。我认为我的编辑是一个错误,因为第二个while循环应该在第一个while循环内。但我现在明白了问题所在,谢谢大家。