Результаты поиска по запросу "tail-recursion"

2 ответа

 медленнее, на самом деле это будет иметь поведение O (n ^ 2), которого следует избегать, как ад. Если вы не хотите использовать реверс, просто используйте рекурсивное тело вместо хвостового и не используйте

ичок в изучении Erlang. После прочтения о списочном понимании и рекурсии в Erlang, я хотел попробовать реализовать свой собственныйmap функция, которая получилась так: % Map: Map all elements in a list by a function map(List,Fun) ...

2 ответа

Большое спасибо за просмотр этого Томаса. Однако, как говорит kvb, это вызывает немного больше вопросов, чем ответов. В частности, есть ли что-то в выражениях вычислений, из-за которых компилятор теряет "хвостовую рекурсивность" функций, написанных с использованием bind, если bind не записан в стиле передачи продолжения? Значит ли это, что любой построитель вычислений в реальном мире должен проходить мимо?

ытие: это появилось в FsCheck, среде случайного тестирования F #, которую я поддерживаю. У меня есть решение, но оно мне не нравится. Более того, я не понимаю проблемы - ее просто обошли. Довольно стандартная реализация последовательности ...

2 ответа

Хвостовая рекурсия с Groovy

Я кодировал 3 факторных алгоритма: Во-первых, я ожидаю провала из-за переполнения стека. Нет проблем.Во вторых я стараюсьрекурсивный вызов, преобразуйте предыдущий алгоритм из рекурсивного в итеративный.Это не работает, но я не понимаю, ...

ТОП публикаций

2 ответа

F # против OCaml: переполнение стека

Я недавно нашел презентацию оF # для программистов на Python [http://combiol.org/fs/FSUG_FS4PPv2.pptx]и, посмотрев его, решил самостоятельно реализовать решение «муравьиной головоломки». Есть муравей, который может ходить по плоской сетке. ...

2 ответа

Почему моя хвостовая рекурсия Scala быстрее, чем цикл while?

Вот два решения упражнения 4.9 в Scala Кей Хорстманна для нетерпеливых: «Напишите функцию lteqgt (values: Array [Int], v: Int), которая возвращает тройку, содержащую число значений меньше v, равное v, и больше, чем v. " Один использует хвостовую ...

2 ответа

Можно ли считать функцию F # хвостовой рекурсивной, она использует код операции TailCall .net

Так как .net имеетTailCall [http://msdn.microsoft.com/en-us/library/system.reflection.emit.opcodes.tailcall.aspx] код операции, это можно использовать для определения, если функция F # действительно хвостовая рекурсивная? Если это правда, ...

2 ответа

Хвостовая рекурсия по R Статистическая среда

Поддерживает ли R правильную хвостовую рекурсию и где я могу найти документацию по этому поводу?

2 ответа

При каких обстоятельствах монадические вычисления являются хвостово-рекурсивными?

В Haskell Wiki'sРекурсия в монаде [http://www.haskell.org/haskellwiki/Recursion_in_a_monad]есть пример, который, как утверждается,хвостовая рекурсия [http://www.haskell.org/haskellwiki/Tail_recursion]: f 0 acc = return (reverse acc) f n acc = do ...

2 ответа

Scala рекурсия против цикла: вопросы производительности и времени выполнения

Я написал наивный тестовый стенд для измерения производительности трех видов факторной реализации: на основе цикла, не хвостовой рекурсии и хвостовой рекурсии. Удивительно для меняхудшие показатели были циклическими (ожидалось, что «while» будет ...

2 ответа

Почему скаляр не может оптимизировать хвостовую рекурсию в определенных сценариях?

Почему не скалярScala [http://en.wikipedia.org/wiki/Scala_%28programming_language%29]компилятор) оптимизировать хвостовую рекурсию? Вызовы кода и компилятора, демонстрирующие это: > cat foo.scala class Foo { def ifak(n: Int, acc: Int):Int = { ...