0

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

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

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

4

1 回答 1

0

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

例如对于一组

[2,5]

2将被选为组的中位数。

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

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

于 2020-03-09T18:58:22.973 回答