The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Samsung планирует в августе выпустить первый смартфон на баз..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для контроля за появлением новых сообщений - перед выходом жмите "Пометить прочитанным".
. "Samsung планирует в августе выпустить первый смартфон на баз..." –1 +/
Сообщение от lucentcode (ok), 25-Мрт-13, 04:42 
Во многих языках вообще нет оптимизации хвостовой рекурсии. А там, где она есть она работает абсолютно так-же, как банальный цикл. На низком уровне. На уровне ассемблера есть инструкции сохранения стека, перехода на адрес нужной функции, возврата из этой функции и т.п. Так вот, на уровне машинных инструкций оптимизация хвостовой рекурсии выливается в исполнение одного и того же кода функции в цикле, без обязательного вызова процедуры сохранения/восстановления стека. Ваш механизм - это разворачивание рекурсивного вызова функции в цикл(по своей сути, если не по форме). Объясните, что мешает вам сразу использовать более очевидное и простое решение(в случае, когда итерации цикла не зависят напрямую от предыдущих результатов кода, помещённого в цикл)? Есть задачи, в которых предпочтительней использование while/for. Есть такие задачи, для которых оптимальна хвостовая рекурсия. А зачастую не важно, как вы реализуете цикл. Главное, что-бы ваш код было легко поддерживать, и он корректно работал.
Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Samsung планирует в августе выпустить первый смартфон на баз..., opennews, 16-Мрт-13, 22:31  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру