مبانی و ساختارهای داده در مهندسی کامپیوتر: روش جایگذاری برای حل روابط بازگشتی - کوییز
روش جایگذاری برای حل روابط بازگشتی
- جایگذاری تابع بازگشتی در خود تابع
- جایگذاری مقادیر ثابت پایه (base case)
- جایگذاری مقادیر پارامتر ها در تابع
- جایگذاری خروجی تابع در ورودی آن
گزینه صحیح: 1
توضیح: در روش جایگذاری، ما به طور مداوم تابع بازگشتی را در عبارات خود جایگزین می کنیم تا زمانی که به مقادیر ثابت پایه برسیم و بتوانیم یک الگوی کلی استخراج کنیم.
- T(n) = T(n-1) + c
- T(n) = T(n/2) + c
- T(n) = 2T(n/2) + cn
- T(n) = T(n-1) + n
گزینه صحیح: 4
توضیح: رابطه T(n) = T(n-1) + n با هر بار تکرار، یک مقدار خطی n به پیچیدگی اضافه می کند که منجر به پیچیدگی O(n^2) می شود، در حالی که سایر روابط پیچیدگی کمتری دارند.
- صف (Queue)
- پشته (Stack)
- لیست پیوندی (Linked List)
- درخت (Tree)
گزینه صحیح: 2
توضیح: پشته به دلیل ماهیت LIFO (Last-In, First-Out) خود، برای نگهداری فراخوانی های توابع بازگشتی و مقادیر میانی که باید به ترتیب معکوس بازیابی شوند، بسیار مناسب است.
- زمانی که تعداد سطوح بازگشتی کم باشد.
- زمانی که فرمول پیچیدگی نهایی به راحتی قابل استخراج باشد.
- زمانی که روابط بازگشتی بسیار پیچیده و با چندین جمله باشند.
- زمانی که مقادیر پایه (base cases) به سادگی قابل محاسبه باشند.
گزینه صحیح: 3
توضیح: وقتی رابطه بازگشتی شامل چندین جمله یا عبارات پیچیده باشد، استخراج یک الگوی کلی و قابل محاسبه با روش جایگذاری دشوار و زمان بر می شود.
- این روش همواره پیچیدگی زمانی را به صورت دقیق محاسبه می کند.
- این روش ممکن است نیاز به حدس زدن فرم کلی داشته باشد.
- این روش برای روابط بازگشتی خطی مناسب نیست.
- این روش نیازی به تعریف مقادیر پایه ندارد.
گزینه صحیح: 2
توضیح: اغلب در روش جایگذاری، پس از چند مرحله جایگذاری، نیاز داریم فرم کلی پیچیدگی را حدس بزنیم و سپس آن را با استقراء اثبات کنیم.
- تحلیل حافظه (Space Complexity)
- تحلیل زمانی (Time Complexity)
- تحلیل انرژی (Energy Complexity)
- تحلیل کارایی سخت افزار (Hardware Efficiency)
گزینه صحیح: 2
توضیح: هدف اصلی روش جایگذاری، تعیین نرخ رشد تعداد عملیات انجام شده توسط الگوریتم با افزایش اندازه ورودی است که همان تحلیل زمانی است.
- T(n) = T(n-1) + c
- T(n) = T(n-1) + T(n-2)
- T(n) = 2T(n-1) + c
- T(n) = T(n/2) + c
گزینه صحیح: 3
توضیح: رابطه T(n) = 2T(n-1) + c با هر مرحله، تعداد فراخوانی ها را دو برابر می کند که منجر به رشد نمایی $O(2^n)$ می شود. این مشابه فیبوناچی با دو فراخوانی است.
این مطلب برگرفته از محصول آموزشی «دوره جامع «ساختمان داده ویژه آمادگی کنکور ارشد»» است
برای مشاهده توضیحات کامل، جزئیات دوره و دریافت محصول، روی دکمه زیر کلیک کنید.
اطلاعات بیشتر و دریافت محصول