1
我需要编写一个算法来使用平行比赛来查找最大值的位置。我有此代码以找到最大值:平行比赛。如何返回数组最大值的位置
//共享存储器变量n为值M [0..N-1]:数组值
//程序并行
torneoMaxParalelo(M,n) int incr=1; int grande, temp0, temp1; while (incr < n) temp0 ← M[pid]; if (pid + incr < n) temp1 ← M[pid + incr]; else temp1 ← -infinite; grande ← max(temp0, temp1); M[pid] ← grande; incr = 2 * incr;
该算法应该花费O(log n)时间。非常感谢你。
你的意思是O(log n)时间? Omega(log n)时间意味着“渐进地不快于”,所以线性搜索将是Omega(log n)时间。 – templatetypedef
是的,这是正确的。 –
你瞄准什么平行模型? – Per