C++ Recursion
🔹 تعریف
-
Recursion یعنی یک تابع خودش را فراخوانی میکند.
-
کاربرد: حل مسائل تکراری یا تقسیمشونده مثل فاکتوریل، فیبوناچی و جستجو در درختها.
🔹 ساختار کلی
Base Case: شرط پایان بازگشت، ضروری است تا از بینهایت شدن تابع جلوگیری شود.
1️⃣ مثال: فاکتوریل عدد
2️⃣ مثال: دنباله فیبوناچی
3️⃣ مثال: چاپ آرایه به صورت بازگشتی
🔹 نکات مهم
-
Base Case الزامی است تا از Stack Overflow جلوگیری شود.
-
بازگشت تابع به صورت LIFO (Last In First Out) انجام میشود.
-
Recursion برای مسائل تکراری و تقسیمشونده بسیار مناسب است.
-
برای آرایهها، لیستها و درختها استفاده زیادی دارد.
-
Recursion ممکن است مصرف حافظه بیشتری نسبت به حلقهها داشته باشد، مخصوصاً برای n بزرگ.