Подход Median of medians
очень популярен в алгоритмах секционирования типа quicksort
, чтобы получить неплохую точку опоры, так что он равномерно разбивает массив. Его логика приведена в Википедии как:
Выбранный стержень меньше и меньше половины элементов в списке медианов, что составляет около n/10 элементов (1/2 * (n/5)) для каждой половины. Каждый из этих элементов является медианом 5, что делает его менее 2 других элементов и более 2 других элементов вне блока. Следовательно, стержень составляет менее 3 (n/10) элементов вне блока и больше, чем другие 3 (n/10) элементов вне блока. Таким образом, выбранная медиана разделяет элементы где-то между 30%/70% и 70%/30%, что обеспечивает наихудшее линейное поведение алгоритма.
Может кто-нибудь объяснить это немного ясно для меня. Мне трудно понять логику.