جاوا
جلسه ۵۶: مقایسه روش بازگشتی با روش تکراری در جاوا

در این جلسه در باره تفاوت های بین روش بازگشتی و تکراری بحث می شود.
موارد زیر را بیان خواهیم کرد:
- آیا تفاوتی وجود دارد؟
- تعریف
- کاربرد
- خاتمه دادن
- حالت بی نهایت
- اندازه کد
- زمان سربار
- سرعت
- استفاده از پشته
آیا تفاوتی وجود دارد؟
از هر دو روش بازگشتی و تکرار برای اجرای مکرر دستورالعمل ها تا زمان برقرا شدن یک شرط استفاده می شود. بنابراین ، واقعاً تفاوت بین تکرار و بازگشت چیست؟ در این جلسه ، چند فاکتور را معرفی می کنیم که این دو روش را از یکدیگر متمایز می کند.
تعریف
- بازگشت به وضعیتی گفته می شود که یک متد بارها و بارها خود را فرا می خواند تا زمانی که شرایط پایه حاصل شود.
- تکرار به وضعیتی گفته می شود که برخی از عبارات بارها و بارها با استفاده از حلقه ها اجرا می شوند تا زمانی که برخی شرایط برقرار باشد.
کاربرد
- بازگشت همیشه با فراخوانی یک متد انجام می شود و بنابراین به یک فرآیند تبدیل می شود.
- کد تکراری روی متغیرها اعمال می شود و مجموعه ای از دستورالعمل ها است که به طور مکرر فراخوانی می شوند.
خاتمه دادن
- کد بازگشتی با رسیدن به شرایط پایه خاتمه می یابد.
- کد تکراری یا به تعداد دفعات مشخصی اجرا می شود یا تا زمان برقراری یک شرط مشخص اجرا می شود.
حالت بی نهایت
- بازگشت نامحدود می تواند منجر به خطای برنامه یا سرریز پشته شود.
- یک کد تکراری بی نهایت ، ممکن است بدون خطا برای همیشه ادامه یابد بنابراین می تواند چرخه های پردازنده بیشتری را نسبت به روش بازگشتی مصرف کند.
اندازه کد
- طول کد بازگشتی خلاصه تر و کوتاهتر است.
- کد تکراری معمولاً گسترده و بهم ریخته است.
زمان سربار
- کد بازگشتی برای هر فراخوانی بازگشتی که ایجاد می کند یک زمان سربار دارد. چون فراخوانی متد زمان بر است.
- کد تکراری زمان سربار ندارد.
سرعت
- کد بازگشتی کندتر از کد تکراری است. روش بازگشتی نه تنها برنامه را اجرا می کند بلکه باید حافظه پشته را نیز فراخوانی کند.
- کد تکراری نسبتاً سریعتر است.
استفاده از پشته
- روش بازگشتی از پشته برای ذخیره متغیرها در هر فراخوانی بازگشتی استفاده می کند.
- کد تکراری از پشته استفاده نمی کند.
اکنون که با تفاوتهای اساسی بازگشت و تکرار آشنا شدید ، در جلسه بعدی روش تبدیل کد تکراری به کد بازگشتی را بررسی می کنیم.