【发布时间】:2010-02-18 13:22:23
【问题描述】:
给定一个元素列表,如果每个元素都需要了解该列表中每个其他元素的状态,如何处理所有元素?
例如,在 Python 中直接实现它的方法可能是:
S = [1,2,3,4]
for e in S:
for j in S:
if e!=j:
process_it(e,j)
但是如果元素数量很大,它会非常慢 O(n²)。必须有另一种有效的方法,也涉及并发。你能帮帮我吗?
【问题讨论】:
-
如果你的起始算法是 O(n^2) 并且你可以简化它,那就去吧。实现语言问题与此正交。
-
如前所述,没有通用的方法可以让这变得更好。现在也许元素实际上只需要知道一些其他元素或预先从所有元素计算的摘要信息。可能会走得更快。但是这个问题并没有提供足够的信息来推测正确的技巧可能是什么。
标签: python c algorithm parallel-processing