تالار گفتمان مانشت
حل معادله بازگشتی به روش درخت بازگشتی - نسخه‌ی قابل چاپ

حل معادله بازگشتی به روش درخت بازگشتی - jorfi - 25 اسفند ۱۳۹۴ ۱۲:۵۲ ب.ظ

با سلام خدمت دوستان اگه لطف کنید سوالی که در ضمیمه قرار دادم توضیح کامل بدید .Big Grin خواهشا توضیحات کامل باشه Tongue ی جورایی برای صفر کیلومتر باشه

RE: حل معادله بازگشتی به روش درخت بازگشتی - Jooybari - 25 اسفند ۱۳۹۴ ۰۴:۲۲ ب.ظ

سلام. وقت بخیر.
یک معادله بازگشتی معمولاً فرمی به شکل زیر داره:

[tex]T(n)=T(f_1(n)) T(f_2(n)) ... T(f_k(n)) g(n)[/tex]

در این صورت درخت بازگشت شامل k تا انشعاب به سمت پایین میشه. مقداری که در سمت راست نوشته میشه برابر مجموع مقادیر g به ازای همون ورودیه. برای همین مثال بررسی میکنیم. داریم:

[tex]T(n)=T(f_1(n)) T(f_2(n)) g(n)[/tex]

که داریم [tex]f_1(n)=n/2[/tex] و [tex]f_2(n)=n/4[/tex] و [tex]g(n)=n^2[/tex].تو سطر اول فقط یه [tex]T(n)[/tex] داریم. مقدار g متناظر با اون میشه [tex]n^2[/tex]. تو سطر دوم یه [tex]T(n/2)[/tex] و یه [tex]T(n/4)[/tex] داریم که g متناظر با اونها به ترتیب میشه [tex](n/2)^2[/tex] و [tex](n/4)^2[/tex] که مجموعشون میشه [tex]\frac{5n^2}{16}[/tex]. همین روند رو برای سطرهای بعد ادامه میدیم تا مقدار n به شرط اولیه که در این مساله به شکل [tex]T(1)=1[/tex] هست برسه. یعنی داشته باشیم n=1.

به عنون یه پیشنهاد اگه بتونید ارتفاع سطرهای درخت رو تنظیم کنید که در هر سطر مقادیر مشابه داشته باشن استدلالتون بهتر میشه. البته برای این کار باید یه تغییراتی تو درخت ریشه دار اعمال کنید.