Вопросы по теме 'tail-call-optimization'
Что такое оптимизация хвостового вызова?
Очень просто, что такое оптимизация обратного вызова?
В частности, какие небольшие фрагменты кода можно применить, а где нет, с объяснением почему?
189566 просмотров
schedule
08.04.2023
Объясните мне, что такое оптимизация хвостовых вызовов и зачем она нужна Python.
Так что, по-видимому, была большая шумиха по поводу того, нуждается ли Python в оптимизации хвостовых вызовов. Это дошло до апогея, когда кто-то отправил Гвидо копию SICP потому что он «не понял». Я в той же лодке, что и Гвидо. Я понимаю...
1594 просмотров
schedule
20.01.2023
Оптимизация хвостового вызова c++ vs2010
Рассмотрим следующий код:
int fac_aux( int x, int res ) {
if( x == 1 ) return res;
else return fac_aux( x - 1, res * x );
}
int fac( int x ) {
return fac_aux( x, 1 );
}
int main() {
int x = fac( 50 );
std::cout << x;...
1336 просмотров
schedule
05.02.2023
Оптимизации компилятором в рекурсивной программе
Меня мотивировал вопрос оптимизации хвостового вызова Что такое оптимизация хвостового вызова?
Итак, я решил посмотреть, как я могу сделать это на простом C.
Итак, я написал 2 факториальные программы, 1-я, где можно применить оптимизацию...
759 просмотров
schedule
22.05.2023
Является ли эта функция F # хвостовой рекурсивной, когда рекурсивная функция вызывается несколько раз внутри функции?
Есть несколько вопросов о хвостовой рекурсивной функции, например: this и this , но не смог найти ничего похожего на следующее.
Насколько я понимаю, функция, оптимизированная для хвостового вызова, должна возвращать накопленное значение в своем...
824 просмотров
schedule
15.03.2022
Как определить функции, к которым я могу применить оптимизацию хвостового вызова?
Я пытаюсь написать интерпретатор Scheme, но считаю, что TCO сложно реализовать. Я не уверен, какими свойствами должна обладать функция, чтобы сработала совокупная стоимость владения.
1) Функция с саморекурсивным вызовом в конце определения:...
1186 просмотров
schedule
09.04.2022
Выполнение хвостовой рекурсии в C++
Моя функция может быть написана намного проще, если я выполню рекурсию хвостового вызова (в отличие от цикла for (;;)...break ). Тем не менее, я боюсь, что у меня будут проблемы с производительностью, если компилятор не сможет его оптимизировать,...
2259 просмотров
schedule
26.04.2022
Оптимизирована ли реализация факториального хвостового вызова (TCO) в стиле продолжения?
Вот две реализации факториала с этого сайта :
Оптимизированный хвостовой вызов (TCO):
function fact(n) {
return tail_fact(n,1) ;
}
function tail_fact(n,a) {
if (n == 0)
return a ;
else
return tail_fact(n-1,n*a) ;
}
И тот,...
83 просмотров
schedule
12.05.2023
как вставить в середину списка, будучи удобным для хвостового вызова, но без ущерба для производительности?
Итак, у меня есть эта функция, которая кажется не дружественной к хвостовому вызову, верно?
let rec insertFooInProperPosition (foo: Foo) (bar: list<Foo>): list<Foo> =
match bar with
| [] -> [ foo ]
| head::tail ->...
69 просмотров
schedule
09.02.2024