Я хочу понять алгоритм "медиана медиан" на следующем примере:
У нас есть 45 различных чисел, разделенных на 9 групп по 5 элементов в каждой.
48 43 38 33 28 23 18 13 8
49 44 39 34 29 24 19 14 9
50 45 40 35 30 25 20 15 10
51 46 41 36 31 26 21 16 53
52 47 42 37 32 27 22 17 54
Второй шаг рекурсивно, find "истинная" медиана медиан (50 45 40 35 30 25 20 15 10
) т.е. множество будет разделено на 2 группы:
50 25 40 35 30 25 20 15 10
.
45 20
40 15
35 10
30
сортировка этих 2 групп
30 10
35 15
40 20
45 25
50
медианы равны 40 и 15 (в случае четных чисел мы взяли левую медиану)
поэтому возвращаемое значение равно 15, однако "истинная" медиана медиан (50 45 40 35 30 25 20 15 10
) равна 30, кроме того, есть 5 элементов меньше 15, что намного меньше 30% от 45, которые упоминаются в википедии
и поэтому T(n) не получается.
Кстати, в примере из Википедии я получаю результат рекурсии 36. Однако истинная медиана равна 47.
Поэтому я думаю, что в некоторых случаях эта рекурсия может не вернуть истинную медиану медиан. Я хочу понять, где моя ошибка.