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

Для вопросов о рекурсии, практика вызова метода или функции изнутри себя.

3
Сколько слишком много вложенных вызовов функций?
Цитируется из MSDN о StackOverflowException : Исключение, которое выдается при переполнении стека выполнения, поскольку он содержит слишком много вложенных вызовов методов. Too manyздесь довольно расплывчато Как я знаю, когда слишком много на самом деле слишком много? Тысячи вызовов функций? Миллионы? Я предполагаю, что это должно быть каким-то образом связано с …

6
Как определить время выполнения двойной рекурсивной функции?
Для любой произвольно двойной рекурсивной функции, как рассчитать время ее выполнения? Например (в псевдокоде): int a(int x){ if (x < = 0) return 1010; else return b(x-1) + a(x-1); } int b(int y){ if (y <= -5) return -2; else return b(a(y-1)); } Или что-то вдоль этих линий. Какие методы …

4
Когда нет ТШО, когда беспокоиться о том, чтобы унести стек?
Каждый раз, когда обсуждается новый язык программирования для JVM, неизбежно появляются люди, которые говорят что-то вроде: «JVM не поддерживает оптимизацию хвостового вызова, поэтому я предсказываю множество взрывающихся стеков» Есть тысячи вариаций на эту тему. Теперь я знаю, что некоторые языки, такие как Clojure, например, имеют специальную конструкцию recur, которую вы …

2
Причина оператора возврата в рекурсивном вызове функции
Я просто сомневался. Следующая подпрограмма (например, для поиска элемента в списке) имеет оператор return в конце: list *search_list(list *l, item_type x) { if (l == NULL) return(NULL); if (l->item == x) return(l); else return( search_list(l->next, x) ); } Я не могу получить значение оператора return в конце (т. Е. Return …

9
Ресурсы для улучшения вашего понимания рекурсии? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

2
Может ли кто-нибудь объяснить концепцию запоминания Хаскелла?
(обратите внимание, что я задаю вопрос здесь, потому что речь идет о его концептуальной механике, а не о проблеме кодирования) Я работал над небольшой программой, которая использовала последовательность чисел Фибоначчи в ее уравнении, но я заметил, что, если я набрал определенное число, оно стало мучительно медленным, немного погуглив, я наткнулся …

7
Может ли рекурсивная функция иметь итерации / циклы?
Я изучал рекурсивные функции, и, очевидно, они являются функциями, которые вызывают сами себя и не используют итераций / циклов (иначе это не было бы рекурсивной функцией). Однако, просматривая примеры в интернете (рекурсивная проблема с 8 ферзями), я обнаружил эту функцию: private boolean placeQueen(int rows, int queens, int n) { boolean …
12 java  recursion 

2
Понимание возврата в C ++
У меня есть хорошее базовое понимание основ C ++, я также понимаю, как работает рекурсия. Я сталкивался с определенными проблемами, такими как классическая проблема восьми королев и решение судоку с возвратом. Я понимаю, что я совершенно потерян, когда дело доходит до этого, я не могу думать о том, чтобы вернуться …
12 c++  recursion 

7
Рекурсия - это «разделяй и властвуй» или «повторное использование кода»
Рекурсия - как мы все знаем - это одна из тех проблем, когда мыслят вокруг, как будто достигают «вехи» в вашем плавании. Но когда дело доходит до фактического использования его в реальных задачах - знания механизма рекурсии недостаточно, нужно также понимать природу проблем, для которых рекурсия является наиболее подходящим решением. …
11 recursion 

3
Почему итеративная версия занимает больше времени?
Я просматривал http://programming.lispdream.com/blog/2011/06/recursion-vs-iteration/ и увидел, что в его реализации рекурсивных и итеративных реализаций факториальной функции итеративная процедура на самом деле занимает больше времени учитывая п = 1000. Я не могу понять, почему (он не объясняет, но говорит, что это упражнение для читателя). Извините за мою новизну всего этого.

4
Каковы соображения, чтобы определить, можете ли вы использовать рекурсию для решения проблемы?
Иногда в интервью я могу использовать рекурсию для решения проблемы (например, добавление 1к целому числу с бесконечной точностью), или когда проблема представляется пригодной для использования рекурсии. Иногда это может быть связано с использованием рекурсии для решения проблем, поэтому, не задумываясь, рекурсия используется для решения проблемы. Однако каковы соображения, прежде чем …

3
Алгоритм генерации всех множеств m точек в nxnxn кубической решетке, которые уникальны по симметрии
Я реализую алгоритм, который будет довольно сложным в вычислительном отношении, и хочу попытаться убедиться, что я не делаю ненужную работу. Существует nxnxn кубическая решетка, например, если n = 2, она состоит из (0,0,0), (0,1,0), (1,0,0), (1,1,0), (0, 1,1), (0,0,1), (1,0,1), (1,1,1). Из этой решетки я буду рекурсивно генерировать все множества …

5
Можно ли кодировать все рекурсивные функции с помощью итераций? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 6 лет назад . Каковы преимущества рекурсии? Некоторые языки программирования могут оптимизировать хвостовую рекурсию, но, …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.