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

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

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

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


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

5
Рекурсивный вызов функции javascript
Я могу создать рекурсивную функцию в переменной так: /* Count down to 0 recursively. */ var functionHolder = function (counter) { output(counter); if (counter > 0) { functionHolder(counter-1); } } При этом functionHolder(3);будет вывод 3 2 1 0. Допустим, я сделал следующее: var copyFunction = functionHolder; copyFunction(3);выведет, 3 2 1 …

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


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

6
Наследование и рекурсия
Предположим, у нас есть следующие классы: class A { void recursive(int i) { System.out.println("A.recursive(" + i + ")"); if (i > 0) { recursive(i - 1); } } } class B extends A { void recursive(int i) { System.out.println("B.recursive(" + i + ")"); super.recursive(i + 1); } } Теперь давайте …

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

4
Рекурсия с использованием yield
Есть ли способ смешать рекурсию и yieldоператор? Например, генератор бесконечных чисел (с использованием рекурсии) будет выглядеть примерно так: def infinity(start): yield start # recursion here ... >>> it = infinity(1) >>> next(it) 1 >>> next(it) 2 Я старался: def infinity(start): yield start infinity(start + 1) и def infinity(start): yield start …

3
Схемы рекурсии для чайников?
Я ищу действительно простые и понятные объяснения схем рекурсии и схем коркурсии (катаморфизмы, анаморфизмы, гиломорфизмы и т. Д.), Которые не требуют перехода по множеству ссылок или открытия учебника теории категорий. Я уверен, что неосознанно заново изобрел многие из этих схем и «применил» их в своей голове в процессе кодирования (уверен, …

10
Node.js - превышен максимальный размер стека вызовов
Когда я запускаю свой код, Node.js выдает "RangeError: Maximum call stack size exceeded"исключение, вызванное слишком большим количеством рекурсивных вызовов. Я попытался увеличить размер стека Node.js на sudo node --stack-size=16000 app, но Node.js вылетает без сообщения об ошибке. Когда я запускаю этот раз без Суда, то Node.js отпечатков 'Segmentation fault: 11'. …

9
Написание foldl с помощью foldr
В Real World Haskell , Глава 4. Функциональное программирование : Напишите foldl с помощью foldr: -- file: ch04/Fold.hs myFoldl :: (a -> b -> a) -> a -> [b] -> a myFoldl f z xs = foldr step id xs z where step x g a = g (f a …

9
Отслеживайте, сколько раз была вызвана рекурсивная функция
function singleDigit(num) { let counter = 0 let number = [...num + ''].map(Number).reduce((x, y) => {return x * y}) if(number <= 9){ console.log(number) }else{ console.log(number) return singleDigit(number), counter += 1 } } singleDigit(39) Выполнить фрагмент кодаСкрыть результатыРазвернуть фрагмент Приведенный выше код принимает целое число и сводит его к одной цифре, …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.