![]() |
1
1
内部实施
如果你知道e.g.array1被保证为恒定大小,你可以说它是o( n 在哪里 n 是另一个数组的长度。然而,在这类问题中,我们通常假设两个数组的长度都是可变的,所以这个实现可以看作是( 锰 ),或作为O( n 二 )如果两个列表的长度相同。 |
![]() |
2
0
记住'n'只是描述一些输入的大小。在您的示例中,有两个输入
循环过度
但是呢
你看的是
|
![]() |
3
0
如果数组没有被排序,则证明没有比o(n logn)更快的算法。 对于array1中的每个元素,检查它是否出现在array2中。所以你的电脑一定知道答案。 看。包括?实现可以很容易地看到它遍历array2并检查元素。
这个函数的一个调用就是o(n)。这就是为什么你的算法复杂度是o(n^2) (好吧,o(n m)更正确,其中n是数组1的长度,m是数组2的长度) |