Вопросы с тегом «recursion»

109
рекурсия против итерации

Можно ли сказать, что везде, где используется рекурсия, можно использовать forцикл? И если рекурсия обычно медленнее, в чем техническая причина ее использования при forповторении цикла? И если всегда можно преобразовать рекурсию в forцикл, есть ли практический способ сделать...

104
Почему функции в Ocaml / F # по умолчанию не рекурсивны?

Почему функции в F # и Ocaml (и, возможно, в других языках) по умолчанию не рекурсивны? Другими словами, почему разработчики языка решили, что было бы неплохо явно заставить вас ввести recтакое объявление, как: let rec foo ... = ... и не дать функции рекурсивную возможность по умолчанию? Зачем...

102
Как реализовать __getattribute__ без бесконечной ошибки рекурсии?

Я хочу переопределить доступ к одной переменной в классе, но вернуть все остальные в обычном режиме. Как мне это сделать __getattribute__? Я пробовал следующее (что также должно иллюстрировать то, что я пытаюсь сделать), но получаю ошибку рекурсии: class D(object): def __init__(self): self.test=20...

101
Рекурсивное изменение связанного списка в Java

Я уже некоторое время работаю над Java-проектом для класса. Это реализация связанного списка (называемого здесь AddressList, содержащего простые узлы ListNode). Загвоздка в том, что все придется делать с помощью рекурсивных алгоритмов. Я мог делать все нормально без одного метода:public...

101
Самый простой способ сделать рекурсивное самосоединение?

Каков самый простой способ выполнить рекурсивное самосоединение в SQL Server? У меня есть такая таблица: PersonID | Initials | ParentID 1 CJ NULL 2 EB 1 3 MB 1 4 SW 2 5 YT NULL 6 IS 5 И я хочу иметь возможность получать записи, относящиеся только к иерархии, начиная с конкретного человека. Итак,...

101
Преобразовать серию родительско-дочерних отношений в иерархическое дерево?

У меня есть несколько пар имя-родительское имя, которые я хотел бы превратить в как можно меньше иерархических древовидных структур. Так, например, это могут быть пары: Child : Parent H : G F : G G : D E : D A : E B : C C : E D : NULL Что необходимо преобразовать в (а) иерархическое дерево (а): D...

99
Предотвращает ли JVM оптимизацию хвостового вызова?

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

99
Python: использование рекурсивного алгоритма в качестве генератора

Недавно я написал функцию для генерации определенных последовательностей с нетривиальными ограничениями. Проблема пришла с естественным рекурсивным решением. Теперь случается, что даже для относительно небольшого ввода последовательности составляют несколько тысяч, поэтому я предпочел бы...

98
Реальные примеры рекурсии [закрыто]

Закрыто . Этот вопрос должен быть более конкретным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыт 7 лет назад . Уточните этот вопрос Каковы реальные проблемы, в которых...

96
Что такое параморфизмы?

Читая эту классическую статью , я зацикливаюсь на параморфизмах. К сожалению, раздел довольно тонкий, и на странице Википедии ничего не сказано. Мой перевод на Haskell: para :: (a -> [a] -> b -> b) -> b -> [a] -> b para f base = h where h [] = base h (x:xs) = f x xs (h xs) Но...

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

Функциональные языки приводят к использованию рекурсии для решения множества проблем, поэтому многие из них выполняют оптимизацию хвостового вызова (TCO). TCO вызывает вызовы функции из другой функции (или самой функции, в этом случае эта функция также известна как Tail Recursion Elimination,...

91
Оптимизированы ли какие-либо хвостовые вызовы движков JavaScript (TCO)?

У меня есть хвостовой рекурсивный алгоритм поиска пути, который я реализовал в JavaScript, и я хотел бы знать, могут ли какие-либо (все?) Браузеры получить исключения переполнения стека....

90
Как отрендерить дерево в Twig

Я хотел бы визуализировать дерево с неопределенной глубиной (дочерние элементы детей и т. Д.). Мне нужно рекурсивно перебрать массив; как я могу сделать это в Twig?...

90
Есть ли в Haskell хвостовая рекурсивная оптимизация?

Сегодня я обнаружил команду time в unix и подумал, что буду использовать ее, чтобы проверить разницу во времени выполнения между хвостовой рекурсивной и нормальной рекурсивной функцией в Haskell. Я написал следующие функции: --tail recursive fac :: (Integral a) => a -> a fac x = fac' x 1...

87
Список всех файлов и папок в каталоге с рекурсивной функцией PHP

Я пытаюсь просмотреть все файлы в каталоге, и, если каталог есть, просмотреть все его файлы и так далее, пока не останется больше каталогов для перехода. Каждый обработанный элемент будет добавлен в массив результатов в функции ниже. Он не работает, хотя я не уверен, что я могу сделать / что я...

86
Python: превышена максимальная глубина рекурсии

У меня есть следующий код рекурсии, на каждом узле я вызываю sql-запрос, чтобы узлы принадлежали родительскому узлу. вот ошибка: Exception RuntimeError: 'maximum recursion depth exceeded' in <bound method DictCursor.__del__ of <MySQLdb.cursors.DictCursor object at 0x879768c>> ignored...