почему мы не можем разделить массив, скажем, 5 раз в сортировке слиянием? - PullRequest
2 голосов
/ 13 марта 2012

в сортировке слиянием, мы всегда делим массив дважды. почему мы не делим это более чем в два раза? и что лучше среди сортировки кучи и сортировки слияния? I

1 Ответ

4 голосов
/ 13 марта 2012

Почему бы не попробовать и посмотреть.Напишите сортировку слиянием, которая разбивается на 5 частей вместо 2, и проверьте ее производительность.Лучший способ научиться - это попробовать.

Это не влияет на сложность вычислений, поэтому улучшение является не более чем постоянным фактором.Вы уменьшаете число проходов слияния с коэффициентом lg (5) ≈ 2.3, но для этапа слияния теперь требуется очередь с приоритетами, которая будет более чем в 2,3 раза медленнее, чем одно сравнение, используемое двухфазным слиянием.

Разделение на более чем 2 фрагмента известно как многофазная сортировка слиянием , и она используется, когда вам нужно минимизировать количество проходов слияния.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...