0
ответов

Всегда избегать рекурсивных методов в Java? [closed]

Напоминаю, что всегда следует избегать использования рекурсивных вызовов методов в Java. Я думал, что причины в том, что накладные расходы, связанные с сохранением вызванных методов в куче, не стоят уменьшенных ...
вопрос задан: 22 September 2011 11:37
0
ответов

Рекурсион хвоста с Groovy

I кодировал 3 факториальных алгоритма: во-первых, я ожидаю провалиться переполнением стека. Без проблем. Во-вторых, я стараюсь хвостным призывом конвертировать предыдущий алгоритм от рекурсивного до итеративного. Это не работает, но я ...
вопрос задан: 10 September 2011 21:42
0
ответов

Обратный список SCALA

Учитывая следующий код: Import Scala.UTIL.RANDOM Object Reverser {// не удается для большого списка def Reverseleist [a] (список: список [a] ]): Список [A] = {Список совпадение {Case Nil => Справочник ...
вопрос задан: 8 September 2011 09:07
0
ответов

Erlang: Можно ли это сделать без списков: reverse?

Я начинаю изучать Erlang. Прочитав о понимании списков и рекурсии в Erlang, я захотел попробовать реализовать свою собственную функцию карты, которая оказалась такой:% Map: сопоставить все элементы ...
вопрос задан: 30 May 2011 18:09
0
ответов

Оптимизирует ли PHP хвостовую рекурсию?

Я написал небольшой фрагмент кода, который, по моему мнению, должен был бы быть успешным, если бы хвостовая рекурсия была оптимизирована, однако она взорвала стек. Должен ли я сделать вывод, что PHP не оптимизирует хвостовую рекурсию? функция ...
вопрос задан: 30 May 2011 02:33
0
ответов

Растет ли стек python с итеративным процессом, который выполняется рекурсивным процедура?

Я знаю, что Python не поддерживает оптимизацию хвостового вызова. Означает ли это, что рекурсивная процедура с итеративным процессом, подобным определенному ниже факториалу, будет потреблять O (n) памяти, или факт ...
вопрос задан: 9 May 2011 03:33
0
ответов

Хвостовая рекурсия F # и почему бы не написать цикл while?

Я изучаю F # (новичок в функциональном программировании в целом, хотя использовал функциональные аспекты C # в течение многих лет, но давайте посмотрим правде в глаза, это довольно разные), и одна из вещей, которые я прочитал, это то, что F # ...
вопрос задан: 6 May 2011 18:20
0
ответов

Использование рекурсии в Scala при запуске в JVM

Из поиска в других местах на этом сайте и в Интернете оптимизация хвостового вызова не поддерживается JVM. Означает ли это, что хвостовой рекурсивный код Scala, такой как следующий, который может работать на ...
вопрос задан: 17 April 2011 20:21
0
ответов

Почему это хвостовая рекурсивная?

посмотрите этот Scala-код: def rec (n: Int) {if (n> 1) {val d = n / 2 rec (d) // если (d> 1) // прервать цикл rec (n / d)} } Этот код приведет к бесконечному циклу. Из-за ...
вопрос задан: 17 March 2011 09:39
0
ответов

Выполняет ли MATLAB оптимизацию хвостового вызова?

Я недавно изучил Haskell и пытаюсь по возможности перенести чистый функциональный стиль в другой код. Важным аспектом этого является обработка всех переменных как неизменяемых, то есть констант. ...
вопрос задан: 16 March 2011 14:31
0
ответов

Как выполнить конкатенацию списков «правильным» способом (с использованием хвостовой рекурсии)

Я работаю над следующим упражнением на Erlang: Напишите функцию, которая по списку списков будет объединять их. Пример: concatenate ([[1,2,3], [], [4, пять]]) ⇒ [1,2,3,4, пять]. И я подошел ...
вопрос задан: 22 February 2011 01:19
0
ответов

Хвостовая рекурсия против прямой рекурсии в Erlang

Лучше ли хвостовая рекурсия, чем прямая рекурсия для производительности в Erlang? Или компилятор erlang тоже оптимизирует прямую рекурсию? Я имею в виду, есть ли какие-нибудь причины использовать хвостовую рекурсию вместо прямой ...
вопрос задан: 9 February 2011 09:05
0
ответов

Разве хвостовая рекурсивная функция не должна быть быстрее?

У меня есть следующий код на Clojure для вычисления числа с определенным свойством "факторизуемости". (что именно делает код вторично). (defn factor-9 ([] (let [digits (take 9 (iterate # (inc%) ...
вопрос задан: 9 January 2011 13:09
0
ответов

Проблема с хвостовой рекурсией в g ++

Я возился с хвостовыми рекурсивными функциями в C ++, и у меня возникла небольшая проблема с компилятором g ++. Следующий код приводит к переполнению стека, когда число [] превышает пару ...
вопрос задан: 21 December 2010 08:25
0
ответов

Я получаю исключение StackOverFlowException в этом коде, потому что моя JVM не поддерживает оптимизацию хвостового вызова, верно?

Я получаю исключение StackOverflowException в этом методе Java: частное статическое конечное целое число [ ] заполнить (окончательный массив Integer [], конечная длина int, конечный int текущий) {if (current == length) {return ...
вопрос задан: 13 December 2010 13:52
0
ответов

Как использовать TailCalls?

Если я правильно понял, scala.util.control.TailCalls можно использовать, чтобы избежать переполнения стека для нерекурсивных функций с помощью трамплина. Пример, приведенный в API, прост: ...
вопрос задан: 13 December 2010 12:34
0
ответов

Является ли эта реализация хвостовой рекурсивной

Я читал в алгоритмической книге, что функцию Аккермана нельзя сделать хвостовой рекурсивной (они говорят, что "ее нельзя преобразовать в итерацию "). Я довольно озадачен этим, поэтому я попытался и ...
вопрос задан: 12 December 2010 22:42
0
ответов

Улучшения Clojure JVM 7/8

Рич Хикки и другие отметили, что Clojure не получит значительных улучшений по сравнению с запланированным invokeDynamic. для JVM 7 или 8, но прирост производительности от хвостовой рекурсии. ...
вопрос задан: 29 November 2010 15:07
0
ответов

Accumulators in haskell

In Haskell, if I write fac n = facRec n 1 where facRec 0 acc = acc facRec n acc = facRec (n-1) (acc*n) and compile it with GHC, will the result be any different than if I used fac 0 = ...
вопрос задан: 26 November 2010 16:14
0
ответов

Возможна ли хвостовая рекурсия, если сравнение зависит от возвращаемого значения?

У меня было домашнее задание, которое требовало функции, которая использует прямую рекурсию для поиска индекс самого левого, самого низкого отрицательного целого числа в массиве. Дополнительные требования были для ...
вопрос задан: 9 November 2010 21:06
0
ответов

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

Я пытаюсь понять хвостовую рекурсию в Haskell. Думаю, я понимаю, что это такое и как работает, но я хотел бы убедиться, что не все испортил. Вот «стандартное» определение факториала: ...
вопрос задан: 4 November 2010 01:09
0
ответов

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

Иногда это достаточно просто ( если самовызов является последним утверждением, это хвостовая рекурсия), но все же есть случаи, которые меня смущают. Профессор сказал мне, что «если нет инструкции для выполнения ...
вопрос задан: 9 September 2010 16:32
0
ответов

Оптимизированы ли хвостовые вызовы движков Javascript?

У меня есть хвостовой рекурсивный алгоритм поиска пути, который я реализовал в Javascript, и я хотел бы знать, могут ли какие-либо (все?) Браузеры получить исключения переполнения стека.
вопрос задан: 7 September 2010 16:26