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

2 ответа

и избежать необходимости внутреннего метода. Но это не всегда возможно, и это не может быть красиво вызвано из кода Java, если вы беспокоитесь о взаимодействии.

ного новичок в том, что Скала пробует это, когда читает Дэвида Поллака «Начать Скала». Он определяет простую рекурсивную функцию, которая загружает все строки из файла: def allStrings(expr: => String): List[String] = expr match { case null => ...

3 ответа

А поскольку это хвостовой контекст, функция является хвостовой рекурсивной. Вот как это делают функциональные программисты: просматривают тело определения на предмет рекурсивных вызовов, а затем проверяют, что каждое из них происходит в хвостовом контексте. Более интуитивное определение хвостового вызова - это когда ничего не делается с результатом вызова, кроме его возврата.

тся ли эта функция хвостовой рекурсивной? let rec rec_algo1 step J = if step = dSs then J else let a = Array.init (Array2D.length1 M) (fun i -> minby1J i M J) let argmin = a|> Array.minBy snd |> fst rec_algo1 (step+1) (argmin::J)В общем, есть ...

1 ответ

Благодарю. Это ответ, который я искал.

жный дубликат:Почему JVM все еще не поддерживает оптимизацию хвостового вызова?Я вижу так много разных ответов в Интернете, поэтому я решил спросить экспертов.

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

6 ответов

Как я могу выразить факториал п! с функцией F #, рекурсивной или другой?

Факториал натурального числа (любое число больше или равно чем

2 ответа

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

Я пытаюсь понять хвостовую рекурсию в Хаскеле. Я думаю, что понимаю, что это такое и как это работает, но я хотел бы убедиться, что я не все испортил.Вот «ст...

4 ответа

Как распознать, что есть, а что нет хвостовой рекурсии?

5 ответов

Комбинат запоминания и хвостовой рекурсии

Можно ли как-то совместить запоминание и хвостовую рекурсию? Сейчас я изучаю F # и понимаю обе концепции, но не могу их объединить.Предположим, у меня есть с...

5 ответов

Пример рекурсивной функции F # Tail

Я новичок в F # и читал о хвостовых рекурсивных функциях, и надеялся, что кто-нибудь может дать мне две разные реализации функции foo - одну с хвостовой реку...

1 ответ

Clojure: Как избежать переполнения стека в Sieve of Erathosthene?

Вот моя реализация Sieve of Erathosthene в Clojure (основанная на уроке SICP о потоках):

18 ответов

Как мне выйти из цикла в Scala?

Как мне разорвать петлю?