【发布时间】:2012-07-21 17:44:16
【问题描述】:
我正在编写一个算法,我在其中查找成对的值,当它们相加时会产生我正在寻找的另一个值。
我发现使用Map 可以加快我的算法从 O(n²) 的速度。后来我意识到我并没有真正使用 Map 中包含的值,所以 List 就足够了。
我在 Google 上进行了强力搜索,但在我的问题标题中没有找到有关这些方法的渐近运行时间的任何信息。
你能指出我应该在哪里寻找这些信息吗?
【问题讨论】:
-
更公平的比较是
Set.contians()vsMap.containsKey(),这基本上是相等的 - 对于每种类型的 Map 都有一个对应的 Set 类型在其 impl 中使用 -
我知道我知道,但我认为对 JCF 代码执行渐近分析需要几个小时的项目。
-
听起来您想将值放入列表中,并从两端不规则地迭代以匹配总和。仍然是 O(n)。对于更复杂的对,布隆过滤器可能是合适的。
标签: java list collections map