Midسختی 2 از ۵· در 20٪ مصاحبههای این حوزه پرسیده شده
چرا هر تابع بازگشتی باید یک Base Case داشته باشد؟
☆نشان کردنپاسخ کوتاه
بدون شرط پایان، تابع بینهایت خودش را صدا میزند و باعث Stack Overflow میشود.
پاسخ کامل
Base Case شرطی است که بدون فراخوانی دوبارهٔ تابع، مقدار را برمیگرداند و به بازگشت پایان میدهد؛ هر مرحلهٔ بازگشتی باید مسئله را به نسخهٔ کوچکتری نزدیک به Base Case برساند.
مثال کد
\nfunction factorial(n) { return n <= 1 ? 1 : n * factorial(n - 1); }\n
