|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Max Ischenko 2:5020/400 15 Mar 2002 11:29:03 To : Andy Shevchenko Subject : Re: tail-recursion -------------------------------------------------------------------------------- Andy Shevchenko wrote: AS>> Аналогично и у тебя. Это не хвостовая рекурсия, так как последняя AS>> функция у тебя не s-tr, а rec. ISS>> Эээ... идем читать книги.... s-tr вообще не рекурсивная функция, а ISS>> вот rec ISS>> -- вполне себе tail-recursive. AS> Тут уже выяснили, что не везде такая конструкция работает. Hу ты упертый. ;-) И что значит не везде работает? Работает оно в любой реализации CL ну или другого диалекта Лисп. Другое дело, что трюк с tail-recursion elimination (то есть превращение рекурсивного алгоритма в итерационный) не является _требованием_ а оставлен на усмотрение разработчиков компилятора. Полезность же техники tail-recursion заключается в том, что можно описывать в рекурсивном виде алгоритмы которые (теоретически) будут исполнятся практически также эффективно как и обычные итерационные. Это может быть нужно либо по эстетическим соображениям либо когда язык не поддерживает в явном виде итерационные структуры управления. --- ifmail v.2.15dev5 * Origin: Unknown (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3480c7e958f.html, оценка из 5, голосов 10
|