Jump to content

Алгоритмы замены блоков

В компьютерных алгоритмы алгоритмах замены блоков меняют местами две области элементов массива . Поменять местами две непересекающиеся области массива одинакового размера очень просто. Однако поменять местами две непересекающиеся области массива, находящиеся рядом друг с другом, но имеющие неравные размеры, непросто (такая замена эквивалентна вращению массива ). Известны три алгоритма, позволяющие выполнить эту задачу: «Жонглирование Бентли» (также известный как алгоритм «Дельфин»). [1] ), Гриса-Миллса и разворота. [2] Все три алгоритма имеют линейное время. O(n) (см. Временная сложность ).

Алгоритм разворота

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

Алгоритм разворота проще всего объяснить с помощью вращений. Вращение — это изменение местами элементов массива. Этот метод меняет местами два элемента массива снаружи внутри диапазона. Вращение работает для четного или нечетного числа элементов массива. Алгоритм реверса использует три вращения на месте для выполнения замены блоков на месте:

  • Повернуть регион А
  • Повернуть регион Б
  • Повернуть регион AB

Алгоритмы Гриса-Миллса и Reversal работают лучше, чем алгоритм Bentley Juggling, благодаря их к кэшу дружественным шаблонам доступа к памяти, .

Алгоритм Reversal хорошо распараллеливается , поскольку повороты можно разбить на подобласти, которые можно вращать независимо от других.

  1. ^ Д. Грис, Х. Миллс (1981), Замена разделов
  2. ^ Джон Бентли, «Жемчужины программирования», стр. 13–15, 209–211.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 533c6d9d1723cdc4e7aa80db39e1dac6__1658184900
URL1:https://arc.ask3.ru/arc/aa/53/c6/533c6d9d1723cdc4e7aa80db39e1dac6.html
Заголовок, (Title) документа по адресу, URL1:
Block swap algorithms - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)