Какой метод сортировки наиболее подходит для параллельной обработки?

Теперь я смотрю свое старое школьное задание и хочу найти решение вопроса.

Какой метод сортировки наиболее подходит для параллельной обработки?

  • Сортировка пузырьков
  • Быстрая сортировка
  • Объединить сортировку
  • Сортировка сортировки

Я думаю, что быстрый способ сортировки (или слияния?) является ответом.

Правильно ли я?

Ответ 1

Подобно сортировке слияния, quicksort также может быть легко распараллелизирован из-за своей природы "разделяй и властвуй". Отдельные операции с разделом на месте трудно распараллелить, но после их разделения различные разделы списка можно сортировать параллельно.

Одно из преимуществ параллельной быстрой сортировки по сравнению с другими параллельными алгоритмами сортировки заключается в том, что синхронизация не требуется. Новый поток запускается, как только доступен подписок для его работы, и он не взаимодействует с другими потоками. Когда все потоки завершены, сортировка выполняется.

http://en.wikipedia.org/wiki/Quicksort

Ответ 2

Это полностью зависит от метода распараллеливания. Для многопоточных общих вычислений сортировка слияния обеспечивает довольно надежную балансировку нагрузки и свойства локализации памяти. Для большой сортировочной сети в оборудовании форма Бэтчера, Битоника или Шелл сортировки на самом деле лучше всего, если вы хотите хороший O (log² n) производительность.

Ответ 3

Я думаю, что слияние сортировки

вы можете разделить набор данных и сделать на них параллельные операции.

Ответ 4

Я думаю, что Merge Sort будет лучшим ответом здесь. Поскольку основная идея сортировки слияния заключается в том, чтобы разделить проблему на отдельные решения. Соедините их и объедините их.

То, что мы на самом деле делаем в параллельной обработке. Разделите всю проблему на небольшие единицы, чтобы вычислять параллельно, а затем присоединяться к результатам. Благодаря

Ответ 5

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