Recursion

Recursion روشی برای حل مسئله است که در آن یک function خودش را برای حل نمونه‌ای کوچک‌تر از همان مسئله فراخوانی می‌کند.

توضیح

در recursion، هر فراخوانی بخشی از مسئله را حل می‌کند و ادامهٔ کار را به فراخوانی دیگری از همان function می‌سپارد. شرط پایان یا base case مشخص می‌کند چه زمانی پاسخ بدون فراخوانی دوباره برگردد. هر مرحله باید به این شرط نزدیک‌تر شود؛ در غیر این صورت، اجرا ممکن است با پر شدن call stack به خطا برسد.

مثال

def countdown(n):
    if n <= 0:
        return
    print(n)
    countdown(n - 1)

countdown(3)
# 3
# 2
# 1

چرا مهمه

هنگام کار با ساختارهای تو‌در‌تو، مثل پوشه‌ها یا درخت‌ها، recursion می‌تواند منطق حل مسئله را ساده‌تر کند. شناخت شرط پایان و عمق فراخوانی‌ها کمک می‌کند از تکرار بی‌پایان و مصرف بیش از حد حافظه جلوگیری کنی.

این کارت را هوش مصنوعی نوشته و دو بار با هوش مصنوعی بررسی شده است.

بر پایهٔ «Recursion» از MDN Web Docs (Mozilla Contributors)، با مجوز CC BY-SA 2.5. این کارت هم با همین مجوز منتشر شده است.

مطالبی با این مفهوم

هنوز مطلبی منتشر نشده.