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