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

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

11
Есть ли что-нибудь, что можно сделать с помощью рекурсии, что нельзя сделать с помощью циклов?
Есть моменты, когда использование рекурсии лучше, чем использование цикла, и времена, когда использование цикла лучше, чем использование рекурсии. Выбрав «правильный», можно сэкономить ресурсы и / или получить меньше строк кода. Есть ли случаи, когда задача может быть выполнена только с использованием рекурсии, а не цикла?
126 recursion  loops 

8
Циклы рекурсии или пока
Я читал о некоторых практиках интервью для разработчиков, в частности о технических вопросах и тестах, которые задавались на собеседованиях, и я несколько раз спотыкался о высказываниях жанра: «Хорошо, вы решили проблему с помощью цикла while, теперь вы можете сделать это с помощью рекурсия ", или" каждый может решить это с …

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

18
На простом английском языке, что такое рекурсия?
Идея рекурсии не очень распространена в реальном мире. Таким образом, это кажется немного запутанным для начинающих программистов. Хотя, думаю, они постепенно привыкают к этой концепции. Итак, что может быть хорошим объяснением для них, чтобы легко понять идею?
74 recursion 

3
В чем разница между рекурсией и corecursion?
Какая разница между ними? Рекурсия корекурсия В Википедии мало информации и нет четкого кода, объясняющего эти термины. Каковы некоторые очень простые примеры, объясняющие эти термины? Как corecursion двойственна рекурсии? Существуют ли классические corecusive алгоритмы?

17
Рекурсия без факториала, чисел Фибоначчи и т. Д.
Почти каждая статья, которую я могу найти о рекурсии, включает примеры факторных чисел или чисел Фибоначчи, которые: математический Бесполезно в реальной жизни Есть ли интересные примеры не математического кода для обучения рекурсии? Я имею в виду алгоритмы «разделяй и властвуй», но они обычно включают сложные структуры данных.
48 recursion 

8
Какие существуют методы, чтобы избежать переполнения стека в рекурсивном алгоритме?
Вопрос Каковы возможные способы решения переполнения стека, вызванного рекурсивным алгоритмом? пример Я пытаюсь решить проблему Project Euler 14 и решил попробовать ее с помощью рекурсивного алгоритма. Тем не менее, программа останавливается с java.lang.StackOverflowError. Вполне понятно. Алгоритм действительно переполнял стек, потому что я пытался сгенерировать последовательность Коллатца для очень большого числа. …

8
Функциональные языки лучше в рекурсии?
TL; DR: функциональные языки обрабатывают рекурсию лучше, чем нефункциональные? В настоящее время я читаю Code Complete 2. В какой-то момент в книге автор предупреждает нас о рекурсии. Он говорит, что этого следует избегать, когда это возможно, и что функции, использующие рекурсию, обычно менее эффективны, чем решения, использующие циклы. В качестве …

11
Является ли цикл while по своей сути рекурсией?
Я задавался вопросом, является ли цикл while по своей сути рекурсией? Я думаю, это потому, что цикл while можно рассматривать как функцию, которая вызывает себя в конце. Если это не рекурсия, то в чем разница?
37 recursion  loops 

5
Производительность: рекурсия против итерации в Javascript
Недавно я прочитал несколько статей (например, http://dailyjs.com/2012/09/14/functional-programming/ ) о функциональных аспектах Javascript и взаимосвязи между Scheme и Javascript (на последнюю повлияла первая, которая является функциональным языком, в то время как аспекты ОО унаследованы от Self, который является языком на основе прототипов). Однако мой вопрос более конкретен: мне было интересно, есть …

2
Общий способ преобразования цикла (while / for) в рекурсию или из рекурсии в цикл?
Эта проблема в основном сосредоточена на алгоритме, может быть, что-то абстрактное и более академическое. Пример предлагает мысль, я хочу общий способ, поэтому пример используется только для того, чтобы сделать нас более ясно о ваших мыслях. Вообще говоря, цикл может быть преобразован в рекурсивный. например: for(int i=1;i<=100;++i){sum+=i;} И связанный с ним …

7
Какие императивные языки программирования не поддерживают рекурсию?
Насколько мне известно, все современные императивные языки программирования поддерживают рекурсию в том смысле, что процедура может вызывать сама себя. Это не всегда имело место, но я не могу найти какие-либо веские факты с помощью быстрого поиска в Google. Итак, мой вопрос: Какие языки не поддерживали рекурсию с самого начала и …

2
Y комбинатор и оптимизация хвостовых вызовов
Определение Y комбинатора в F # let rec y f x = f (y f) x В качестве первого аргумента f ожидает продолжения рекурсивных подзадач. Используя yf в качестве продолжения, мы видим, что f будет применяться к последовательным вызовам, поскольку мы можем развить let y f x = f (y …

10
Что такого сложного в указателях / рекурсии? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 5 лет назад . В опасностях java-школ Джоэл рассказывает о своем опыте работы в Penn и …
20 c  pointers  recursion 

2
Могут ли компиляторы преобразовывать рекурсивную логику в эквивалентную нерекурсивную логику?
Я изучаю F #, и это начинает влиять на то, как я думаю, когда я программирую на C #. С этой целью я использовал рекурсию, когда чувствую, что результат улучшает читабельность, и я не могу представить, что это приведет к переполнению стека. Это заставляет меня спросить, могут ли компиляторы автоматически …

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