【发布时间】:2018-02-01 04:56:35
【问题描述】:
为什么这段代码的 Arraylist 和 LinkedList 的大 O 会是相同的 O(MN)?
PS:我不完全理解这段代码。任何解释将不胜感激。
public static int Count( List<Integer> lst1, List<Integer> lst2) {
Iterator<Integer> itr1 = lst1.iterator();
int count=0;
while ( itr1.hasNext() ) {
Integer x = itr1.next();
Iterator<Integer> itr2 = lst2.iterator();
while (itr2.hasNext())
if (x.equals(itr2.next()))
count++;
}
return count;
}
【问题讨论】:
-
你如何确定它需要“相同的时间”?至于代码,与标题中的问题无关,“请解释这段代码”形式的问题是题外话。
-
@JimGarrison 很抱歉造成混乱。有一个问题根据此代码询问确定它在 ArrayList 中运行和在 LinkedList 中运行的大 O。然后在我的同学解释之后,我意识到两者的答案都是 O(MN) 不知道为什么。我希望现在更清楚了。如果还有更多问题,请告诉我。谢谢
标签: java arraylist linked-list