Jump to content

Спагетти сорт

Принципиальная схема сортировки спагетти. Спагетти можно сортировать, вынимая их из пачки на столе в том порядке, в котором они торчат.

Сортировка спагетти это К. аналоговый алгоритм сортировки А. последовательности элементов с линейным временем, представленный Дьюдни в его колонке в журнале Scientific American . [1] [2] [3] сортирует последовательность элементов, требующих O ( n Этот алгоритм стабильно ) стекового пространства. Для этого требуется параллельный процессор.

Алгоритм

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

Для простоты предположим, что мы сортируем список натуральных чисел . Метод сортировки проиллюстрирован на примере сырых стержней спагетти :

  1. Для каждого числа x в списке получите стержень длины x . (Один практический способ выбора единицы измерения — сделать так, чтобы наибольшее число m в списке соответствовало одному полному стержню спагетти. В этом случае полный стержень равен m единицам спагетти. Чтобы получить стержень длины x , сломайте стержень два так, чтобы одна часть имела длину x единиц, другую часть отбросьте.)
  2. Собрав все палочки для спагетти, свободно возьмите их в кулак и опустите на стол так, чтобы все они стояли вертикально и опирались на поверхность стола. Теперь для каждого стержня опускайте другую руку сверху до тех пор, пока она не встретится со стержнем — этот явно самый длинный. Удалите этот стержень и вставьте его в начало (изначально пустого) выходного списка (или, что то же самое, поместите его в последний неиспользуемый слот выходного массива). Повторяйте, пока все стержни не будут удалены.

Приготовление n палочек спагетти занимает линейное время. Опускание стержней на стол занимает постоянное время O ( 1 ). Это возможно, потому что рука, палочки для спагетти и стол работают как полностью параллельное вычислительное устройство. Тогда необходимо удалить n стержней, поэтому, предполагая, что каждая операция контакта и удаления занимает постоянное время, временная сложность алгоритма в худшем случае равна O ( n ).

  1. ^ Дьюдни, А.К. (июнь 1984 г.), «О компьютере-спагетти и других аналоговых устройствах для решения проблем», Scientific American , vol. 250, нет. 6, стр. 19–26.
  2. ^ Штауффер, Дитрих (15 мая 1999 г.), Ежегодные обзоры вычислительной физики VI , World Scientific , стр. 260, ISBN  981-02-3563-1
  3. ^ Адамацкий, Эндрю (1 июля 2006 г.), От утопических к настоящим нетрадиционным компьютерам , Luniver Press , стр. 96, ISBN  0-9551170-9-7
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f8453f3a50d128c5b4b4222734b4e371__1713996300
URL1:https://arc.ask3.ru/arc/aa/f8/71/f8453f3a50d128c5b4b4222734b4e371.html
Заголовок, (Title) документа по адресу, URL1:
Spaghetti sort - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)