Upload
faradars
View
180
Download
10
Embed Size (px)
Citation preview
روابط بازگشتیfaradars.org/fvsft120
:مدرس
فرشید شیرافکن
دانشجوی دکتری دانشگاه تهران (بیو انفورماتیک: دکتری( )کامپیوتر نرم افزار: کارشناسی و کارشناسی ارشد )
روابط بازگشتی
1
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
سرفصل
(تکرار با جایگذاری-حدس)روشهای حل -رابطه های بازگشتی -1
درخت بازگشت-2
تغییر متغیر -قضیه اصلی -3
همگن و ناهمگن-4
2
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
: اولفصل روابط بازگشتی
(تکرار با جایگذاری-حدس)روش های حل
3
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
رابطه های بازگشتی
:فاکتوریلتابعدرضرب هاتعدادبرایبازگشتییرابطهیک
fact (n){if (n==0)
return 1;else
return n*fact(n-1);}
1)1(1
00)(
nnT
nnT
4
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
.بنویسیدراT(n)بازگشتیرابطهباشد،f(n)توسطشدهچاپهایستارهتعدادT(n)اگر
void f(int n){
if (n>=2){
f(n-1);print "**";f(n-2);print "***";
}}
T(n)=T(n-1)+2+ T(n-2)+35
مثال
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
مثالزوجآندرشدهظاهرصفرهایتعدادکهاستمعتبرزمانیnطولبا2و1و0ارقامشاملتاییسهکدی.دآوریبدستراهستندمعتبرکهnطولبهکدهایتعدادبازگشتیرابطه.باشد
n کدهای معتبرتعداد
کدهای معتبر
1 1,2 2
2 00,11,22,12,21 5
3 100,111,122,112,121,200,211,222,212,221,010,020,001,002 14
n 1T(n) T(n 1) 3 T(1) 2
6
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
مثال
سمتبهفقطمجازهایحرکت.برویمBنقطهبهAنقطهازخواهیممیزیرشطرنجیصفحهدر
راBبهAازممکنمسیرهایتعدادکهبنویسیدبازگشتیرابطهیک.باشدمیباالیاراست
.کندمشخص
7
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
روش های حل رابطه های بازگشتی
حدس-1
جایگذاریباتکرار-2
بازگشتدرخت-3
اصلیقضیه-4
ناهمگنوهمگن-5
8
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
روش حدس
آناساسبروکردهپیدااولیهمقدارچندازایبهراتابعجواب.زنیممیحدسرامعادلهجواب
(.کردثابتراآناستقراکمکبهبایدالبته)
9
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
(است2ازمضربیn).کنیدحلفرضبارابازگشتیرابطه T(n) T(n 2) 1 T(0) 0
:نتیجهn
T(n)2
:چند مقدار اولیه
T(2)=T(0)+1=0+1=1 T(4)=T(2)+1=1+1=2 T(6)=T(4)+1=2+1=3
10
مثال
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
مثال
(n>1واست2ازتوانیn).کنیدحلفرضبارابازگشتیرابطه nT(n) T( ) 1
2 T(1) 0
T(2) T(1) 1 0 1 1
T(4) T(2) 1 1 1 2
T(8) T(4) 1 2 1 3
T(n):نتیجه lgn
11
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
(n>1واست2ازتوانیn)..کنیدحلفرضبارابازگشتیرابطه nT(n) 7T( )
2T(1) 1
T(2)=7T(1)=7
T(4)=7T(2)=27
T(8)=7T(4)=
12
مثال
37
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
جایگذاری روش تکرار با
.مبرسینهاییجواببهتادهیممیبسطقدرآنرابازگشتییرابطهروش،ایندر
.دشومیاستفادههمروشاینازبازگشتیهایرابطهدقیقجوابکردنپیدابرای
13
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
.کنیدحلفرضبارابازگشتیرابطه T(n) T(n 1) n T(1) 1
n
i 1
T(n) n T(n 1)
n (n 1) T(n 2)
n (n 1) (n 2) T(n 3)
....
n (n 1) (n 2) ... 2 T(1)
n (n 1) (n 2) ... 2 1
n(n 1)i
2
14
مثال
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
15
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
:جواب رابطه ی و برابر است با T(n) kT(n 1) c T(1) c
nk 1T(n) c
k 1
T(1) 1
16
T(n) 2T(n 1) 1
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
مثال
17
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
.رابطه بازگشتی را با فرض حل کنید T(n) 3T(n 1) 2 T(1) 2
: طبق نکته n
n3 1T(n) 2 3 1
3 1
18
مثال
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
19
مثال
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
:آنگاه،اگر kT(n) T(n 1)
n T(n) k.ln(n)
:مثال
2T(n) T(n 1)
n
T(1) 0
T(n) 2lnn
20
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
21
مثال
1 1 1 11 ... lnn
2 3 n 1 n
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
22
مثال
ni 0 1 2 n n 1
i 0
2 2 2 2 ... 2 2 1
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
بازگشتیرابطه جواب مرتبه اجرایی
T(n) T(n k) b
T(0) c
nT(n) b c
k T(n) (n)
nT(n) T( ) b
a
T(1) c ,a 1
naT(n) lg b c T(n) (lgn)
aT(n) T(n 1)
n T(n) a.ln(n) T(n) (lgn)
T(n) aT(n 1) b
T(0) c
nna 1
T(n) b a ca 1
nT(n) (a )
:جمع بندی
23
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
T(n) aT(n 1) f (n)
T(0) c
nn n i
i 1
T(n) a c a .f (i)
.جواب رابطه را با فرض مشخص کنید:مثال T(n) 3T(n 1) n T(0) 10
n nn n i n n i n
i 1 i 1
1 43 n 3T(n) 3 10 3 i 3 10 3 i( ) 3
3 4 2 4
24
فرادرس
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
25
فرادرسپایان فصل اول
FaraDars.org
روابط بازگشتیfaradars.org/fvsft120
این اسالید ها بر مبنای نکات مطرح شده در فرادرس« آموزش روابط بازگشتی و روش های حل آنها»
.تهیه شده است
.برای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه نمایید
faradars.org/fvsft120
فرادرس
FaraDars.org