Время, сложность/стоимость внешней сортировки слиянием

я получил это из ссылки , в которой говорится о внешней сортировке слиянием.

Из слайда 6 Пример :с 5 буферными страницами для сортировки файла из 108 страниц

  • Pass0 :[108/5] = 22 отсортированных запуска по 5 страниц каждый (последний запуск только с 3 страницами)

  • Pass1 [22/4] = 6 отсортированных прогонов по 20 страниц каждый (последний прогон только с 8 страницами)

  • Pass2 :[6/3] = 2 отсортированных прогона, 80 страниц и 28 страниц

  • Проход 3 :[2/2] = 1 Отсортированный файл из 108 страниц

Вопрос :Насколько я понимаю, во внешней сортировке слиянием на проходе 0 вы создаете фрагменты, а затем сортируете каждый фрагмент. В оставшихся проходах вы продолжаете их объединять. Таким образом, применяя это к приведенному выше примеру, поскольку у нас есть только 5 буферных страниц, на проходе 0 ясно, что нам нужно 22 отсортированных прогона по 5 страниц в каждом.

  1. Теперь, почему мы выполняем сортировку оставшихся проходов или объединяем их?

  2. Почему это говорит о том, что для прохода 1 6 отсортированных прогонов по 20 страниц каждый, когда у нас есть только 5 буферных страниц?

  3. Где именно здесь происходит слияние? и как N уменьшается в каждом проходе, то есть со 108 до 22 до 6 до 2?

8
задан JustinDanielson 11 June 2012 в 09:06
поделиться