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)。