Logo bg.boatexistence.com

Рекурсивните функции по-бързи ли са от итерацията?

Съдържание:

Рекурсивните функции по-бързи ли са от итерацията?
Рекурсивните функции по-бързи ли са от итерацията?

Видео: Рекурсивните функции по-бързи ли са от итерацията?

Видео: Рекурсивните функции по-бързи ли са от итерацията?
Видео: Можно использовать с завтрашнего дня! Пояснительная видеозапись импульсной сварки ♪ 2024, Може
Anonim

рекурсивната функция работи много по-бързо от итеративната Причината е, защото в последния, за всеки елемент е необходимо извикване на функцията st_push и след това друго към st_pop. В първия имате само рекурсивното CALL за всеки възел. Освен това достъпът до променливи в стека на извиквания е невероятно бърз.

Рекурсивно или итеративно по-бързо ли е?

Запомнянето прави рекурсията приемлива, но изглежда, че итерацията винаги е по-бърза Въпреки че рекурсивните методи работят по-бавно, те понякога използват по-малко редове код от итерацията и за мнозина са по-лесни за разбиране. Рекурсивните методи са полезни и за определени специфични задачи, като например преминаване на дървовидни структури.

Итеративните решения по-бързи ли са от рекурсивните?

Въпреки това, итеративните решения са обикновено по-бързи от рекурсивните, когато става въпрос за скорост. … В стандартен език за програмиране, където компилаторът няма опашно-рекурсивна оптимизация, рекурсивните извиквания обикновено са по-бавни от итерацията.

По-лесно ли е рекурсията от итерацията?

Факт е, че рекурсията рядко е най-ефективният подход за решаване на проблем, а итерацията почти винаги е по-ефективна Това е така, защото обикновено има повече режийни разходи, свързани с правенето на рекурсивни повиквания поради факта, че стекът от повиквания се използва толкова силно по време на рекурсия.

Какви са недостатъците на рекурсията?

Недостатъци на рекурсията

  • Рекурсивните функции обикновено са по-бавни от нерекурсивните.
  • Може да изисква много място в паметта за съхраняване на междинни резултати в системните стекове.
  • Трудно е за анализиране или разбиране на кода.
  • Не е по-ефективно по отношение на сложността на пространството и времето.

Препоръчано: