Я знаю, что рекуррентное уравнение линейного выбора (медианный алгоритм медиан) выглядит следующим образом:
T(n) <= an + T(n/5) + T(7n/10)
Но откуда берутся эти термины? Я пытался понять, но я очень запутался. Кто-нибудь может пролить свет?
Я знаю, что рекуррентное уравнение линейного выбора (медианный алгоритм медиан) выглядит следующим образом:
T(n) <= an + T(n/5) + T(7n/10)
Но откуда берутся эти термины? Я пытался понять, но я очень запутался. Кто-нибудь может пролить свет?
Лучшая попытка:
Это уравнение предназначено только для случая, когда вы делаете медиану групп из 5. В противном случае оно изменится. Часть уравнения — это время, которое требуется алгоритму, чтобы пройтись по всем элементам и сгруппировать их в 5. T(n/5) — это время, необходимое для нахождения медианы для каждой группы из 5. Поскольку существует n/5 групп по 5 человек.
T(7n/10) займет больше времени...
Когда вы делаете медианы медиан, элементы разбиваются на 4 квадранта. 3/10 элементов больше медианы медиан, 3/10 элементов меньше медианы медиан. Остальные 4/10 делятся на 2 группы по 2/10. Это элементы, в отношении которых вы не уверены, больше они или меньше медианы медиан. Следовательно, максимальное количество элементов, которые могут быть больше или меньше медианы медиан, составляет 3/10 + 2/10 + 2/10 = 7/10. Таким образом, T(7n/10) является частью продолжения уравнения с максимальным сегментом чисел, который больше/меньше медианы медиан....
Надеюсь, в этом есть смысл.