Jump to content

Батчерная сортировка слиянием нечет-чет

Батчерная сортировка слиянием нечет-чет
Визуализация сети сортировки слиянием нечет-чет с восемью входами
Визуализация сети сортировки слиянием нечет-чет с восемью входами
Сорт Алгоритм сортировки
Структура данных Множество
Худшая производительность параллельное время
Лучшая производительность параллельное время
Средняя производительность параллельное время
Наихудшая пространственная сложность непараллельное время
Оптимальный Нет

Нечетно-четная сортировка слиянием Бэтчера [ 1 ] — это общая конструкция, разработанная Кеном Бэтчером для сортировки сетей размера O( n (log n ) 2 ) и глубина O((log n ) 2 ), где n — количество элементов, подлежащих сортировке. Хотя он и не является асимптотически оптимальным, Кнут пришел к выводу в 1998 году относительно сети AKS , что «метод Бэтчера намного лучше, если только n не превышает общий объем памяти всех компьютеров на земле!» [ 2 ]

Его популяризирует вторая книга GPU Gems , [ 3 ] как простой способ достаточно эффективной сортировки на оборудовании для обработки графики.

Псевдокод

[ редактировать ]

Возможны различные рекурсивные и итеративные схемы расчета индексов сравниваемых и сортируемых элементов. Это один из итеративных методов создания индексов для сортировки n элементов:

# note: the input sequence is indexed from 0 to (n-1)
for p = 1, 2, 4, 8, ... # as long as p < n
  for k = p, p/2, p/4, p/8, ... # as long as k >= 1
    for j = mod(k,p) to (n-1-k) with a step size of 2k
      for i = 0 to min(k-1, n-j-k-1) with a step size of 1
        if floor((i+j) / (p*2)) == floor((i+j+k) / (p*2))
          compare and sort elements (i+j) and (i+j+k)

Также возможен нерекурсивный расчет индекса узла-партнера. [ 4 ]

См. также

[ редактировать ]
  1. ^ Бэтчер, Кен (1968), «Сортирующие сети и их приложения» , Материалы весенней совместной компьютерной конференции AFIPS '68 (весна), 30 апреля — 2 мая 1968 г. , Атлантик-Сити, Нью-Джерси: Ассоциация вычислительной техники. , стр. 307–314, дои : 10.1145/1468075.1468121 , S2CID   207171031 , заархивировано из оригинала 24 октября 2020 г.
  2. ^ Д. Е. Кнут . Искусство компьютерного программирования , Том 3: Сортировка и поиск , Второе издание. Аддисон-Уэсли, 1998. ISBN   0-201-89685-0 . Раздел 5.3.4: Сети сортировки, стр. 219–247.
  3. ^ «Глава 46. Улучшенная сортировка GPU» .
  4. ^ «Сортировочная сеть на основе слияния чет-нечет Бэтчера: расчет партнеров» . Ренат Бекболатов . Проверено 7 мая 2015 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d22125f5d15f20fc4023c54cf1b9dc7e__1702246980
URL1:https://arc.ask3.ru/arc/aa/d2/7e/d22125f5d15f20fc4023c54cf1b9dc7e.html
Заголовок, (Title) документа по адресу, URL1:
Batcher odd–even mergesort - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)