ctdl-03--Đệ quy
DESCRIPTION
Cấu trúc dữ liệu, đệ quyTRANSCRIPT
-
quy (Recursion) c phn 1.3
Ging vin: Nguyn Mnh Hin Khoa Cng ngh thng tin Trng i hc Thy Li Email: [email protected]
Hc k 2, nm hc 2014-2015
-
quy
Hm quy l mt hm c nh ngha bng bn thn n
VD: f(0) = 0 v f(x) = 2f(x - 1) + x2 vi x > 0
int f(int x) { if (x == 0) // trng hp c s return 0; else return 2*f(x-1) + x*x; // li gi quy }
-
V d v quy (tip) nh gi hm f(x) = 2f(x - 1) + x2:
f(4) = 2*f(3) + 4*4
f(3) = 2*f(2) + 3*3
f(2) = 2*f(1) + 2*2
f(1) = 2*f(0) + 1*1
f(0) = 0
f(1) = 2*0 + 1*1 = 1
f(2) = 2*1 + 2*2 = 6
f(3) = 2*6 + 3*3 = 21
f(4) = 2*21 + 4*4 = 58
Gp trng hp c s v bt u quay lui
-
quy c th khng kt thc
iu g xy ra nu ta gi f(-1) sau khi ci t hm f(x) = 2f(x - 1) + x2 nh lc trc?
Di y l mt hm quy khng kt thc:
iu g xy ra khi gi: - bad(1)? - bad(2)? - bad(3)?
-
m bo chng trnh quy kt thc
Hai quy tc vit chng trnh quy ng:
1. nh ngha trng hp c s
y l ni quy s kt thc
2. Li gi quy phi c s tin trin
Mi bc phi hng dn v pha trng hp c s