中位数算法的中位数 - select 中的哪个元素作为每个组的中位数

Median of medians algorithm - which element to select as median for each group

(注意:在我的示例中,我将数组划分为包含 5 个元素的子数组)

我知道中位数算法将 n 个输入数组拆分为 floor(n/5) 组和一个包含 (n)mod5 元素的附加组,然后找到每个元素的中值元素已排序的组(具有 5 个元素的组中的第 3 个元素)等等。

我的问题是,如果其中一组有 2 个或 4 个元素,将选择哪个元素作为该组的中位数(假设该组已经排序)。

对于包含 2 个元素的组,将选择已排序组中最左边的值。

例如对于一组

[2,5]

2 将被选为组的中位数。

对于一组 4 个元素,第二个元素将是中位数。

为了概括这一点,具有偶数个元素的组中的中位数将是左中位数(根据书籍和在线的大多数示例)。但是,只要在整个算法中始终使用此策略,就可以在偶数列表中选择正确的中位数。