Индекс форумов |
Исходное сообщение |
---|
"Samsung планирует в августе выпустить первый смартфон на баз..." Отправлено lucentcode, 25-Мрт-13 04:42 |
Во многих языках вообще нет оптимизации хвостовой рекурсии. А там, где она есть она работает абсолютно так-же, как банальный цикл. На низком уровне. На уровне ассемблера есть инструкции сохранения стека, перехода на адрес нужной функции, возврата из этой функции и т.п. Так вот, на уровне машинных инструкций оптимизация хвостовой рекурсии выливается в исполнение одного и того же кода функции в цикле, без обязательного вызова процедуры сохранения/восстановления стека. Ваш механизм - это разворачивание рекурсивного вызова функции в цикл(по своей сути, если не по форме). Объясните, что мешает вам сразу использовать более очевидное и простое решение(в случае, когда итерации цикла не зависят напрямую от предыдущих результатов кода, помещённого в цикл)? Есть задачи, в которых предпочтительней использование while/for. Есть такие задачи, для которых оптимальна хвостовая рекурсия. А зачастую не важно, как вы реализуете цикл. Главное, что-бы ваш код было легко поддерживать, и он корректно работал. |
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования. |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |