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

181
Может ли каждая рекурсия быть преобразована в итерацию?

Reddit нить воспитал , видимо , интересный вопрос: Хвостовые рекурсивные функции могут быть легко преобразованы в итерационные функции. Другие, могут быть преобразованы с помощью явного стека. Может ли каждая рекурсия быть преобразована в итерацию? Примером (счетчика?) В сообщении является пара:...

178
Рекурсия в угловых директивах

Есть несколько популярных рекурсивных угловых директив Q & A, которые сводятся к одному из следующих решений: постепенно компилировать HTML вручную в зависимости от состояния области выполнения пример 1 [ stackoverflow ] пример 2 [ угловая страница jsfiddles ] не используйте директиву вообще,...

156
Java-рекурсивная последовательность Фибоначчи

Пожалуйста, объясните этот простой код: public int fibonacci(int n) { if(n == 0) return 0; else if(n == 1) return 1; else return fibonacci(n - 1) + fibonacci(n - 2); } Я запутался с последней строкой, особенно потому, что, например, если n = 5, то будут вызваны fibonacci (4) + fibonacci (3) и так...

155
Последствия фолд против фолд (или фолд)

Во-первых, Real World Haskell , который я читаю, говорит никогда не использовать, foldlа вместо этого использовать foldl'. Поэтому я верю в это. Но я не знаю, когда использовать foldrпротив foldl'. Хотя я вижу структуру их работы по-разному, но я слишком глуп, чтобы понять, когда «что лучше». Я...

150
Какие компиляторы C ++, если таковые имеются, выполняют оптимизацию хвостовой рекурсии?

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

147
Как искать по ключу => значение в многомерном массиве в PHP

Есть ли какой-нибудь быстрый способ получить все подмассивы, в которых пара ключ-значение была найдена в многомерном массиве? Я не могу сказать, насколько глубоким будет массив. Простой пример массива: $arr = array(0 => array(id=>1,name=>"cat 1"), 1 => array(id=>2,name=>"cat 2"),...

138
Решение для «Неустранимая ошибка: достигнут максимальный уровень вложенности функции« 100 », прерывание!» в PHP

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

134
самореферентное определение структуры?

Я не писал C очень долго, и поэтому я не уверен, как мне следует делать подобные рекурсивные вещи ... Я хотел бы, чтобы каждая ячейка содержала другую ячейку, но я получаю сообщение об ошибке строки "поля 'child' имеют неполный тип". Что происходит? typedef struct Cell { int isParent; Cell child; }...

130
Вложенный defaultdict из defaultdict

Есть ли способ сделать defaultdict также значением по умолчанию для defaultdict? (т.е. рекурсивный стандарт бесконечного уровня по умолчанию?) Я хочу уметь: x = defaultdict(...stuff...) x[0][1][0] {} Итак, я могу x = defaultdict(defaultdict), но это только второй уровень: x[0] {} x[0][0] KeyError:...

121
Что такое рекурсия и когда ее использовать?

Заблокировано . Этот вопрос и ответы на него заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Одна из тем, которая, кажется, регулярно поднимается в списках рассылки и онлайн-обсуждениях, - это...

121
javascript: рекурсивная анонимная функция?

Скажем, у меня есть базовая рекурсивная функция: function recur(data) { data = data+1; var nothing = function() { recur(data); } nothing(); } Как я мог это сделать, если у меня есть анонимная функция, например ... (function(data){ data = data+1; var nothing = function() { //Something here that...

121
Как именно работает хвостовая рекурсия?

Я почти понимаю, как работает хвостовая рекурсия и чем она отличается от обычной. Я только не понимаю, почему не требуется, чтобы стек запомнил свой адрес возврата. // tail recursion int fac_times (int n, int acc) { if (n == 0) return acc; else return fac_times(n - 1, acc * n); } int factorial (int...

119
Рекурсивный поиск подпапок и возврат файлов в списке python

Я работаю над сценарием, чтобы рекурсивно просматривать подпапки в основной папке и создавать список из определенного типа файлов. У меня проблема со сценарием. В настоящее время он установлен следующим образом for root, subFolder, files in os.walk(PATH): for item in files: if item.endswith(".txt")...

118
Как [рекурсивно] заархивировать каталог в PHP?

Справочник выглядит примерно так: home/ file1.html file2.html Another_Dir/ file8.html Sub_Dir/ file19.html Я использую тот же класс PHP Zip, что и в PHPMyAdmin http://trac.seagullproject.org/browser/branches/0.6-bugfix/lib/other/Zip.php . Я не уверен, как заархивировать каталог, а не просто файл....

116
Является ли рекурсия функцией сама по себе?

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

115
Понимание того, как работают рекурсивные функции

Как следует из названия, у меня есть очень фундаментальный вопрос программирования, который я еще не смог разобрать. Отфильтровываем все (очень умно) «Чтобы понять рекурсию, вы должны сначала понять рекурсию». ответы из различных онлайн-тем, я все еще не совсем понимаю. Понимая, что, когда мы...

114
Как найти все комбинации монет при некоторой долларовой стоимости

Я нашел фрагмент кода, который писал для подготовки к собеседованию несколько месяцев назад. Согласно моему комментарию, он пытался решить эту проблему: Учитывая некоторую долларовую стоимость в центах (например, 200 = 2 доллара, 1000 = 10 долларов), найдите все комбинации монет, которые составляют...

111
Почему .NET / C # не оптимизирован для рекурсии хвостового вызова?

Я нашел этот вопрос о том, какие языки оптимизируют хвостовую рекурсию. Почему C # по возможности не оптимизирует хвостовую рекурсию? В конкретном случае, почему этот метод не оптимизирован для создания цикла ( 32-разрядная версия Visual Studio 2008 , если это имеет значение) ?: private static void...