【发布时间】:2014-11-05 08:35:16
【问题描述】:
设 A 是一个大小为 n 的数组,它只包含正数。
令 B 为大小为 n 的数组,其中包含 [1,n] 范围内的数字。
设 C 是一个大小为 n 的数组,我们将在 EREW 机器中使用 n 个处理器,在 O(log^2(n)) 内完成 C[i]=A[B[i]]。
请注意,由于 B 可能包含重复项,因此可能会发生读取冲突。
我的策略是通过 B 的信息来放大 A,这样我们就可以做 C[i]=A[B[i]+i] 来解决阅读冲突问题。但是,经过几个小时的尝试,我发现以这种方式放大 A 是不可能的,而不会出现阅读冲突。我在这里寻求一些提示或建议。因此,不需要详细的解决方案。
【问题讨论】:
标签: algorithm parallel-processing