рекурсивната функция работи много по-бързо от итеративната Причината е, защото в последния, за всеки елемент е необходимо извикване на функцията st_push и след това друго към st_pop. В първия имате само рекурсивното CALL за всеки възел. Освен това достъпът до променливи в стека на извиквания е невероятно бърз.
Рекурсивно или итеративно по-бързо ли е?
Запомнянето прави рекурсията приемлива, но изглежда, че итерацията винаги е по-бърза Въпреки че рекурсивните методи работят по-бавно, те понякога използват по-малко редове код от итерацията и за мнозина са по-лесни за разбиране. Рекурсивните методи са полезни и за определени специфични задачи, като например преминаване на дървовидни структури.
Итеративните решения по-бързи ли са от рекурсивните?
Въпреки това, итеративните решения са обикновено по-бързи от рекурсивните, когато става въпрос за скорост. … В стандартен език за програмиране, където компилаторът няма опашно-рекурсивна оптимизация, рекурсивните извиквания обикновено са по-бавни от итерацията.
По-лесно ли е рекурсията от итерацията?
Факт е, че рекурсията рядко е най-ефективният подход за решаване на проблем, а итерацията почти винаги е по-ефективна Това е така, защото обикновено има повече режийни разходи, свързани с правенето на рекурсивни повиквания поради факта, че стекът от повиквания се използва толкова силно по време на рекурсия.
Какви са недостатъците на рекурсията?
Недостатъци на рекурсията
- Рекурсивните функции обикновено са по-бавни от нерекурсивните.
- Може да изисква много място в паметта за съхраняване на междинни резултати в системните стекове.
- Трудно е за анализиране или разбиране на кода.
- Не е по-ефективно по отношение на сложността на пространството и времето.