在恒定时间内使用n ^ 2个处理器查找最少n个数字

时间:2014-03-28 05:38:47

标签: arrays algorithm parallel-processing

给定具有n个数字和n ^ 2个处理器的数组,找到O(1)时间复杂度中的最小元素。我有一个O(log n)解决方案。可以这样做吗?

1 个答案:

答案 0 :(得分:0)

假设我们有一个大小为n的初始数组R,初始化为0s。对于所有1 <= i,j <= n,将每对(Ai,Aj)元素(总共n ^ 2)分配给n ^ 2个处理器中的每一个。每个处理器将检查Ai> Aj。如果是这样,则它将在R [i]中写入1。所有这些将并行完成。那么我们在R中将只有一个0。结果将是input_array [index_of_zero_in_R]。运行时间为O(1)。