Logo fa.boatexistence.com

آیا توابع بازگشتی سریعتر از تکرار هستند؟

فهرست مطالب:

آیا توابع بازگشتی سریعتر از تکرار هستند؟
آیا توابع بازگشتی سریعتر از تکرار هستند؟

تصویری: آیا توابع بازگشتی سریعتر از تکرار هستند؟

تصویری: آیا توابع بازگشتی سریعتر از تکرار هستند؟
تصویری: Functions | توابع بازگشتی و لامدا #part4 2024, ممکن است
Anonim

تابع بازگشتی بسیار سریعتر از تابع تکراری اجرا می شود دلیل آن این است که در دومی، برای هر آیتم، یک فراخوانی به تابع st_push و سپس یک فراخوانی دیگر به st_pop مورد نیاز است.. در حالت اول، شما فقط تماس بازگشتی برای هر گره دارید. به علاوه، دسترسی به متغیرها در پشته تماس فوق العاده سریع است.

بازگشتی یا تکراری سریعتر است؟

یادآوری بازگشتی را دلپذیر می‌کند، اما به نظر می‌رسد تکرار همیشه سریع‌تر است اگرچه روش‌های بازگشتی کندتر اجرا می‌شوند، اما گاهی از خطوط کد کمتری نسبت به تکرار استفاده می‌کنند و برای بسیاری درک آن آسان‌تر است. روش‌های بازگشتی برای برخی وظایف خاص، مانند پیمایش ساختارهای درختی نیز مفید هستند.

آیا راه حل های تکراری سریعتر از راه حل های بازگشتی هستند؟

با این حال، در مورد سرعت، راه حل های تکرار شونده معمولاً سریعتر از راه حل های بازگشتی هستند . … در یک زبان برنامه نویسی استاندارد، جایی که کامپایلر بهینه سازی tail-recursive ندارد، تماس های بازگشتی معمولاً کندتر از تکرار هستند.

آیا بازگشت آسانتر از تکرار است؟

واقعیت این است که بازگشت به ندرت کارآمدترین رویکرد برای حل یک مسئله است، و تکرار تقریباً همیشه کارآمدتر است این به این دلیل است که معمولاً سربار بیشتری با ایجاد بازگشتی همراه است. تماس ها به دلیل این واقعیت است که پشته تماس به شدت در طول بازگشت استفاده می شود.

معایب بازگشت چیست؟

معایب بازگشت

  • توابع بازگشتی معمولاً کندتر از تابع غیر بازگشتی هستند.
  • ممکن است برای نگهداری نتایج متوسط در پشته های سیستم به فضای حافظه زیادی نیاز باشد.
  • تجزیه و تحلیل یا درک کد سخت است.
  • از نظر پیچیدگی مکانی و زمانی کارآمدتر نیست.

توصیه شده: