【发布时间】:2014-03-27 02:05:29
【问题描述】:
我知道同一数组的嵌套 for 循环在 O(n^2) 中,但想知道将数组的每个元素与同一数组中的所有其他元素进行一次比较的复杂性是什么?假设元素 A 与元素 B 进行比较,那么当轮到其元素 B 与其他元素进行比较时,它不需要像上一步中那样与 A 进行比较。因此,随着每次迭代,数组变得越来越小。这还是 O(n^2) 吗?
类似这样的:
for i in xrange(len(list)-1):
v = list.pop(0)
for vi in docs:
merge(v,vi)
谢谢
【问题讨论】:
-
解决问题的好方法是我们需要将每个元素与之后的每个元素进行比较。元素永远不需要与它们自身以及之前出现的任何东西进行比较已经与当前元素进行了比较。您的解决方案解决了这个问题,通过数组向后迭代。 ??????
标签: time-complexity