Недавно я просмотрел видео о том, как мы можем сделать алгоритм выбора, выполняющийся в O (n) времени, и я смущен одним шагом в процессе создания алгоритма.Временная сложность алгоритма детерминированного выбора
В видео говорится, что мы должны разбить набор чисел или массива на n/5 групп из 5 элементов и остальных элементов в другой группе. Затем мы находим медиану каждой группы. Затем мы находим медиану медианов и используем ее как стержень и так далее.
Однако, чтобы найти медиану каждой группы, мы должны сначала отсортировать группы. В видео говорится, что использование сортировки сортировки или сортировки слияния, но не эти алгоритмы O (nlogn)? Итак, как может общее время работы быть O (n), если сортировка уже принимает O (nlogn)?
Вот видео для справки: https://www.youtube.com/watch?v=YU1HfMiJzwg
Я думаю, что что-то здесь отсутствует, в моих лекционных слайдах говорится, что время работы равно O (n). – Belphegor
Я неправильно понял, что вы сказали, и отредактировал ответ, но invisal прав. – lilezek