Безупорный алгоритм - Loopless algorithm

В вычислительной комбинаторика, а алгоритм без петель или же безупорный императивный алгоритм является императив алгоритм который генерирует последовательные комбинаторные объекты, такие как перегородки, перестановки, и комбинации, в постоянное время и первый объект в линейное время.[1][2] Объекты должны быть доступны сразу в простой форме, не требуя дополнительных действий.[1]

А беспетельный функциональный алгоритм это функциональный алгоритм, имеющий вид шаг развертывания • пролог куда шаг требует постоянного времени и пролог занимает линейное время в размере ввода.[3][4] Стандарт функция разворачивать правоассоциативный Птица развернуться.[3]

Рекомендации

  1. ^ а б Эрлих, Г. (июль 1973 г.). «Беспетлевые алгоритмы для генерации перестановок, комбинаций и других комбинаторных конфигураций». Журнал ACM. Нью-Йорк, штат Нью-Йорк.: ACM. 20 (3): 500–513. Дои:10.1145/321765.321781. ISSN  0004-5411.
  2. ^ Кнут, Д. (Февраль 2005 г.). Том 4, Часть 2: Генерация всех кортежей и перестановок. Искусство программирования. Река Аппер Сэдл, штат Нью-Джерси.: Эддисон – Уэсли Профессионал. ISBN  0-201-85393-0.
  3. ^ а б Берд, Р. (Июль 2006 г.). Беспетельные функциональные алгоритмы. Международная конференция по математике построения программ (MPC 06). Гейдельберг, Германия: Springer. Дои:10.1007/11783596.
  4. ^ Снейп, Дж. (Сентябрь 2005 г.). Функциональные алгоритмы без петель. Дипломная работа. Оксфорд, ВЕЛИКОБРИТАНИЯ.: Оксфордский университет. OCLC  63162239.