|
Цикл или рекурсия
Из текста учебника я понял, что код с использованием цикла эффективнее по сравнению с рекурсией. Но...
Я нашел в интернете функцию, которая из введенного в текстовое поле списка строк удаляет дубликаты. Мне нужна более специфическая задача, но очень похожая, и я решил взять за основу интернетный прототип. Он был реализован в виде рекурсии. Я сделал с циклом и он работает в разы быстрее, но меня терзают смутные сомнения. Ведь почему-то изначально программист (видимо более опытный чем я) сделал с рекурсией... |
Не парься. Любой рекурсивный алгоритм выразим итеративно. В языках без оптимизации хвостовой рекурсии (ЕМНИП, js к таковым относиться), рекурсия -- это жопа. Она память жрет, производительность падает. Не нужно рекурсивно ничего пейсать. Некоторые хомячки пишут рекурсивно, просто ради позерства, чтобы показать
Нутыпонел. |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Без рекурсии: https://github.com/kobezzza/Collecti...e/obj.jsn#L118 изучай. *** Сколько лет ты пишешь код? 0.1? оно и видно, но зато в каждом треде всех учишь и рассказываешь сказки. |
Цитата:
Ты уверен, что ты понимаешь о чем говоришь? Код:
fact=function(n){if(n<2) return 1; return n*(fact(n-1))} |
Часовой пояс GMT +3, время: 08:41. |
|