فهرست مطالب:
- بازگشتی یا تکراری سریعتر است؟
- آیا راه حل های تکراری سریعتر از راه حل های بازگشتی هستند؟
- آیا بازگشت آسانتر از تکرار است؟
- معایب بازگشت چیست؟
تصویری: آیا توابع بازگشتی سریعتر از تکرار هستند؟
2024 نویسنده: Fiona Howard | [email protected]. آخرین اصلاح شده: 2024-01-10 06:36
تابع بازگشتی بسیار سریعتر از تابع تکراری اجرا می شود دلیل آن این است که در دومی، برای هر آیتم، یک فراخوانی به تابع st_push و سپس یک فراخوانی دیگر به st_pop مورد نیاز است.. در حالت اول، شما فقط تماس بازگشتی برای هر گره دارید. به علاوه، دسترسی به متغیرها در پشته تماس فوق العاده سریع است.
بازگشتی یا تکراری سریعتر است؟
یادآوری بازگشتی را دلپذیر میکند، اما به نظر میرسد تکرار همیشه سریعتر است اگرچه روشهای بازگشتی کندتر اجرا میشوند، اما گاهی از خطوط کد کمتری نسبت به تکرار استفاده میکنند و برای بسیاری درک آن آسانتر است. روشهای بازگشتی برای برخی وظایف خاص، مانند پیمایش ساختارهای درختی نیز مفید هستند.
آیا راه حل های تکراری سریعتر از راه حل های بازگشتی هستند؟
با این حال، در مورد سرعت، راه حل های تکرار شونده معمولاً سریعتر از راه حل های بازگشتی هستند . … در یک زبان برنامه نویسی استاندارد، جایی که کامپایلر بهینه سازی tail-recursive ندارد، تماس های بازگشتی معمولاً کندتر از تکرار هستند.
آیا بازگشت آسانتر از تکرار است؟
واقعیت این است که بازگشت به ندرت کارآمدترین رویکرد برای حل یک مسئله است، و تکرار تقریباً همیشه کارآمدتر است این به این دلیل است که معمولاً سربار بیشتری با ایجاد بازگشتی همراه است. تماس ها به دلیل این واقعیت است که پشته تماس به شدت در طول بازگشت استفاده می شود.
معایب بازگشت چیست؟
معایب بازگشت
- توابع بازگشتی معمولاً کندتر از تابع غیر بازگشتی هستند.
- ممکن است برای نگهداری نتایج متوسط در پشته های سیستم به فضای حافظه زیادی نیاز باشد.
- تجزیه و تحلیل یا درک کد سخت است.
- از نظر پیچیدگی مکانی و زمانی کارآمدتر نیست.
توصیه شده:
آیا توابع هولومورفیک منحصر به فرد هستند؟
قضیه منحصر به فرد بودن داخلی کلاسیک برای توابع هولومورفیک (یعنی تحلیلی تک مقداری) در D بیان می کند که اگر دو تابع هولومورف f(z) و g(z) در D بر روی مجموعه ای از E⊂D شامل حداقل یک نقطه حد در D، سپس f(z)≡g(z) در همه جا در D. آیا توابع هولومورفیک کامل هستند؟ یک تابع هولومورف که دامنه آن کل صفحه مختلط است یک تابع کامل نامیده می شود عبارت "
آیا دم راکت بازگشتی است؟
بهینه سازی Tail-call بازگشت Tail دارای وضعیت ویژه در Racket است زیرا کامپایلر به فراخوانی های دنباله توجه می کند و آنها را بهینه می کند. معمولاً، هر فراخوانی به یک تابع، از جمله یک تماس بازگشتی، باعث میشود که مجموعه دیگری از آرگومانها در یک بلوک از حافظه به نام پشته تماس ذخیره شوند .
آیا توابع درجه دوم یک به یک هستند؟
تابع متقابل، f(x)=1/x ، به عنوان تابع یک به یک شناخته می شود. … برای مثال، تابع درجه دوم، f(x)=x 2، تابع یک به یک نیست. چگونه می دانید که یک تابع یک به یک است؟ اگر نمودار یک تابع f شناخته شده باشد، به راحتی می توان تعیین کرد که آیا تابع 1 به 1 است یا خیر.
آیا توابع مثلثاتی خطی هستند؟
توابع مثلثاتی نیز خطی نیستند. … اشتباه این است که فرض کنیم تابع f(x)=cos(x) خطی است، یعنی f(x+y)=f(x) + f(y). یک مثال متقابل ساده نشان می دهد که این تابع f خطی نیست . آیا گناه خطی است؟ بسته به جزئیات هر موقعیتی که به آن پرداخته می شود، به طور کلی قابل قبول است که تابع سینوس را به عنوان خطی بیش ازدر یک بازه 0.
آیا توابع نمایی خطی هستند؟
توابع خطی خط مستقیم هستند در حالی که توابع نمایی خطوط منحنی هستند. شما همچنین می توانید آنها را با تغییر در y تشخیص دهید. اگر همان عدد به y اضافه شود، تابع تغییر ثابت دارد و خطی است. … توابع نمایی معمولاً به شکل y=(1 + r) x خواهند بود . چگونه می توان تشخیص داد که یک تابع خطی است یا نمایی؟ روابط خطی و نمایی در نحوه تغییر مقادیر y زمانی که مقادیر x با مقدار ثابتی افزایش مییابند متفاوت هستند: