这是我的方法。这是顺序快速选择的一种并行版本。(有些映射/减少工具可能不允许您轻松地执行此操作...)选择一个小而任意的输入集块。按顺序对其进行排序。我们将以并行方式使用这些作为整体的枢轴。将其称为数组"pivots",其大小为"k"。执行如下映射/减少:对于输入集中的每个值"x",二进制搜索以查找"x"相对于"pivots"的位置;将此位置称为"bucket(x)"。这是介于0和k之间的整数。缩小步骤是计算每个桶中的元素数量;将"bucket[b]"定义为"bucket(x)=b"的x的数量。中位数必须在"median bucket"中。挑选出该中位数桶中的所有值,并使用传统的顺序选择算法找到具有正确索引的元素。