Time complexity 遍历两个大小不同的列表的复杂性

Time complexity 遍历两个大小不同的列表的复杂性,time-complexity,Time Complexity,比较两个不同列表的复杂性是什么 For(object a: Array List) { For (object b: Array List) { If a==b then do something } } 我知道当它是同一个列表时,它是O(n^2),但当它不同时,它的复杂性是什么 谢谢你让我们从基础开始: 遍历大小为N的单个列表的复杂性是O(N)-每个人都知道这一点 遍历单个大小为M的列表的复杂性是O(M)-我想在这里指出的一点是,O(…)中的字母并不重要 现在

比较两个不同列表的复杂性是什么

For(object a: Array List) {
   For (object b: Array List) {
       If a==b then do something 
  }
} 
我知道当它是同一个列表时,它是O(n^2),但当它不同时,它的复杂性是什么


谢谢你

让我们从基础开始:

  • 遍历大小为N的单个列表的复杂性是O(N)-每个人都知道这一点
  • 遍历单个大小为M的列表的复杂性是O(M)-我想在这里指出的一点是,O(…)中的字母并不重要
现在答案变得显而易见:

  • 在O(N)循环中嵌套O(M)操作的复杂性是O(M×N)-这就是M=N时产生N2的原因

O(m*n)
m
n
分别是第一个和第二个列表的大小非常好的解释。谢谢,如果每个数组列表实际上是数组列表的数组列表,该怎么办。内部arraylist始终包含2个整数。它仍然是o(mxn)还是o(2mx2n)@Snake Big-o不注意常数,所以o(2×N)与o(4×N)或o(1000×N)是一样的,这就是o(N)。