الگوریتم های بازگشتی یک مفهوم اساسی در علوم کامپیوتر هستند که برای حل مشکلات با شکستن آنها به مشکلات کوچکتر و مشابه زیر مشکلات استفاده می شود. درک چگونگی طراحی و تجزیه و تحلیل این الگوریتم ها برای برنامه نویسی کارآمد و حل مسئله ضروری است.

طراحی الگوریتم های بازگشتی

طراحی الگوریتم های بازگشتی شامل تعریف یک پرونده پایه و یک گام بازگشتی است. پرونده پایه متوقف می شود زمانی که یک وضعیت ساده برآورده می شود، جلوگیری از حلقه های نامحدود شامل تماس با همان تابع با یک ورودی اصلاح شده است که به پرونده پایه نزدیک تر می شود.

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

محاسبه الگوریتم های بازگشتی

محاسبه عملکرد الگوریتم های بازگشتی معمولا شامل روابط بازگشتی است.این روابط کل کار را از نظر موارد کوچکتر مشکل بیان می کند. حل روابط عود به برآورد پیچیدگی زمان الگوریتم کمک می کند.

روش های رایج برای حل روابط عود شامل روش جایگزینی، روش درخت بازگشتی و استاد Theorem است.این تکنیک ها بینش هایی در مورد چگونگی مقیاس الگوریتم با اندازه ورودی ارائه می دهند.

سقوط های رایج در الگوریتم های بازگشتی

  • [[۱] [۱۰] [۱] [۱۰] [۱] [۱]] عدم موفقیت در تعریف یک مورد پایه مناسب می تواند منجر به تماس های بی پایان تابع شود.
  • [در این باره] [و] [و [از این رو] عمق [وح] را [از بین] باز می کند؛ [[۱] [۱۰] [۱] [۱] [۱] [۱۰] [۱] [۱۰] [۱] [۱] [۱۰] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [
  • در بازسازی کارآمد؛ [FLT 1] محاسبه همان مشکلات زیر، پیچیدگی زمان را افزایش می دهد، که می تواند با یادداشت کاهش یابد.
  • در حالت صحیح پایه: یک مورد پایه نادرست می تواند نتایج نادرست یا حلقه های بی نهایت تولید کند.