Начав изучать шепот, я натолкнулся на термин рекурсивный хвост . Что это значит
Рекурсия - это своего рода вызов функции, при котором функция вызывает себя сама. Такие функции также называются рекурсивными функциями. Структурная рекурсия - это метод решения проблемы, при котором решение проблемы зависит от решения меньших экземпляров одной и той же проблемы.
Начав изучать шепот, я натолкнулся на термин рекурсивный хвост . Что это значит
Очень просто, что такое оптимизация хвостового вызова? В частности, что это за небольшие фрагменты кода, где их можно применить, а где нет, с объяснением
Предположим, у вас есть плоская таблица, в которой хранится иерархия упорядоченного дерева: Id Name ParentId Order 1 'Node 1' 0 10 2 'Node 1.1' 1 10 3 'Node 2' 0 20 4 'Node 1.1.1' 2 10 5 'Node 2.1' 3 10 6 'Node 1.2' 1 20 Вот схема, где мы имеем [id] Name. Корневой узел 0 вымышленный. [0] ROOT / \...
Я пытаюсь найти все файлы с определенным расширением в каталоге и его подкаталогах с помощью моего bash (последняя версия Ubuntu LTS). Вот что написано в файле скрипта: #!/bin/bash directory="/home/flip/Desktop" suffix="in" browsefolders () for i in "$1"/*; do echo "dir :$directory" echo "filename:...
У меня есть эта хвостовая рекурсивная функция здесь: def recursive_function(n, sum): if n < 1: return sum else: return recursive_function(n-1, sum+n) c = 998 print(recursive_function(c, 0)) Это работает до n=997, тогда это просто ломается и выплевывает RecursionError: maximum recursion depth...
Операционная система: Linux Тип файловой системы: ext3 Предпочтительное решение: bash (script / oneliner), ruby, python У меня есть несколько каталогов с несколькими подкаталогами и файлами в них. Мне нужно составить список всех этих каталогов, который построен таким образом, чтобы каждый каталог...
Я много использовал рекурсию в своих многолетних программах для решения простых задач, но я полностью осознаю, что иногда вам нужна итерация из-за проблем с памятью и скоростью. Итак, когда-то в очень далеком прошлом я попытался найти, существует ли какой-либо «шаблон» или учебник, способ...
Взгляните на следующие два метода: public static void foo() { try { foo(); } finally { foo(); } } public static void bar() { bar(); } Запуск bar()явно приводит к a StackOverflowError, но запуск foo()- нет (кажется, что программа работает бесконечно). Это...
Я начал изучать PowerShell пару дней назад, и я не смог найти в Google ничего, что могло бы сделать то, что мне нужно, поэтому, пожалуйста, ответьте на мой вопрос. Меня попросили заменить некоторые текстовые строки на несколько файлов. Я не обязательно знаю расширение возможных целевых файлов и не...
Я знаю, что рекурсия иногда намного чище, чем зацикливание, и я ничего не спрашиваю о том, когда мне следует использовать рекурсию поверх итерации, я знаю, что уже есть много вопросов по этому поводу. Что я спрашиваю, так ли рекурсия всегда быстрее, чем цикл? Мне кажется, вы всегда сможете уточнить...
Как мне разорвать петлю? var largest=0 for(i<-999 to 1 by -1) { for (j<-i to 1 by -1) { val product=i*j if (largest>product) // I want to break out here else if(product.toString.equals(product.toString.reverse)) largest=largest max product } } Как превратить вложенные циклы в хвостовую...
Завтра у меня среднесрочный курс по информатике, и мне нужна помощь в определении сложности этих рекурсивных функций. Я знаю, как решать простые случаи, но я все еще пытаюсь научиться решать эти сложные случаи. Это были лишь некоторые из примеров проблем, которые я не мог понять. Любая помощь будет...
Есть ли снижение производительности, если мы используем цикл вместо рекурсии или наоборот в алгоритмах, где оба могут служить одной и той же цели? Например: проверьте, является ли данная строка палиндромом. Я видел много программистов, использующих рекурсию как способ показать себя, когда простой...
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...
Это похоже на этот вопрос , но я хочу включить путь относительно текущего каталога в Unix. Если я сделаю следующее: ls -LR | grep .txt Это не включает полные пути. Например, у меня есть следующая структура каталогов: test1/file.txt test2/file1.txt test2/file2.txt Код выше вернет: file.txt file1.txt...
У меня есть следующий кусок кода, который завершается с ошибкой: RuntimeError: превышена максимальная глубина рекурсии Я попытался переписать это, чтобы учесть оптимизацию хвостовой рекурсии (TCO). Я считаю, что этот код должен был быть успешным, если бы имелась ТШО. def trisum(n, csum): if n == 0:...
Большинство из тех времен , определение reentrance цитата из Википедии : Компьютерная программа или рутина описываются как повторно входящие, если это может быть безопасно снова до того, как ее предыдущий вызов был завершен (то есть ее можно безопасно выполнить одновременно). Для повторного входа,...
Возможно ли иметь функцию PHP, которая является как рекурсивной, так и анонимной? Это моя попытка заставить его работать, но имя функции не передается. $factorial = function( $n ) use ( $factorial ) { if( $n <= 1 ) return 1; return $factorial( $n - 1 ) * $n; }; print $factorial( 5 ); Я также...
Я создаю сценарий быстрого резервного копирования, который выводит некоторые базы данных в красивую / аккуратную структуру каталогов, и я понял, что мне нужно проверить, чтобы убедиться, что каталоги существуют, прежде чем я их создаю. Код у меня работает, но кажется, что есть лучший способ сделать...