Оглавление:

Как рассчитывается сложность сортировки слиянием?
Как рассчитывается сложность сортировки слиянием?

Видео: Как рассчитывается сложность сортировки слиянием?

Видео: Как рассчитывается сложность сортировки слиянием?
Видео: #12. Быстрая сортировка слиянием (merge sort) | Алгоритмы на Python 2024, Декабрь
Anonim

2 ответа. Разделение узла A [L, R] на два узла занимает R − L + 1 раз, а затем слияние два дочерних узла A [L, M] и A [M + 1, R] снова занимают A [R-L + 1] времени. Таким образом, для каждого узла количество операций алгоритм выполняет равно удвоенному размеру массива, соответствующего этому узлу.

В связи с этим, как работает сортировка слиянием?

Вот как сортировка слиянием использует принцип «разделяй и властвуй»:

  1. Разделите, найдя число q на полпути между p и r.
  2. Победите, рекурсивно сортируя подмассивы в каждой из двух подзадач, созданных на этапе разделения.
  3. Объедините путем объединения двух отсортированных подмассивов обратно в один отсортированный массив подмассивов [стр..

Кроме того, какова большая сложность O для сортировки слиянием? Сортировка слиянием стабильный Сортировать это означает, что один и тот же элемент в массиве сохраняет свои исходные позиции относительно друг друга. Общее время сложность из Сортировка слиянием является О (nLogn). Это более эффективно, так как в худшем случае также время выполнения О (nlogn) Пространство сложность из Сортировка слиянием является О (п).

какова сложность сортировки слиянием в худшем случае?

п * журнал (п)

Сколько сравнений выполняет сортировка слиянием?

Когда у нас заканчиваются элементы в одном из списков, мы помещаем оставшиеся элементы в последние слоты отсортированный список. Как результат, слияние для двух списков, содержащих в общей сложности n элементов, требуется не более n-1 сравнения.

Рекомендуемые: