Нерекурсивная сортировка слиянием

Вы бросили Application Compatibility Toolkit в свой установщик?

У меня никогда не было причин иметь дело с ним раньше, но, похоже, это именно то, для чего он предназначен.

]

26
задан DarthVader 13 October 2009 в 02:03
поделиться

2 ответа

Перебираем элементы и сортируем каждую соседнюю группу из двух, меняя их местами, когда это необходимо.

Теперь разберемся с группами. из двух групп (любые две, скорее всего, смежные группы, но вы можете использовать первую и последнюю группы) объедините их в одну группу, повторно выбирая элемент с наименьшим значением из каждой группы, пока все 4 элемента не будут объединены в группу из 4. Теперь , у вас есть только группы по 4 плюс возможный остаток. Используя цикл по предыдущей логике, проделайте все это снова, за исключением того, что на этот раз работайте группами по 4. Этот цикл выполняется, пока не останется только одна группа.

15
ответ дан 28 November 2019 в 07:04
поделиться

Цитата из Algorithmist :

Сортировка слиянием снизу вверх - это нерекурсивный вариант слияния sort, в котором массив сортируется по последовательность проходов. Во время каждого pass, массив разбивается на блоки размером м . (Первоначально m = 1 ). Каждые два соседних блока объединяются (как при обычной сортировке слиянием), а следующий проход выполняется с вдвое большим значение м .

8
ответ дан 28 November 2019 в 07:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: