Trường Đi h c Khoa h c T nhiên
Khoa Công ngh thông tin
B môn Tin h c c ơ s
1
Đng Bình Ph ương
dbphuong@fit.hcmus.edu.vn
NH P MÔN L P TRÌNH
K THU T L P TRÌNH
Đ QUY
VC
VC
&
&
BB
BB
22
N i dung
K thu t l p trình đ quy
Tổng quan về đệ quy1
Các vấn đề đệ quy thông dụng2
Phân tích giải thuật & khử đệ quy3
Các bài toán kinh điển4
VC
VC
&
&
BB
BB
33
Bài toán
Cho S(n) = 1 + 2 + 3 + … + n
=>S(10)? S(11)?
K thu t l p trình đ quy
1
1 +
2
2 + +
10
10
1
1 +
2
2 + +
10
10
=
55
55
+
11
11 =
66
66
1
1+
2
2+ +
10
10
=
=
S(10)
S(11)
1
1+
2
2+ +
10
10
S(10)= +
11
11
= +
11
11
55
55 =
66
66
S(10)
+
11
11
55
55
+
11
11
VC
VC
&
&
BB
BB
44
2 bước gi i bài toán
K thu t l p trình đ quy
=
S(n) +
n
nS(n-1)
=
S(n-1) +
n-1
n-1S(n-2)
=
+
=
S(1) +
1
1S(0)
=
S(0)
0
0
Bước 1. Phân tích
hân tích thành bài toán đng
d ng nh ưng đơn gi n h ơn.
ng l i bài toán đng d ng
đơn gi n nh t có th xác đnh
ngay k t qu .ế
Bước 2. Th ngế ược
ác đnh k t qu bài toán ế đng
d ng t đơn gi n đến ph c t p
K t qu cu i cùng.ế
VC
VC
&
&
BB
BB
55
Khái ni m đ quy
K thu t l p trình đ quy
Khái ni m
V n đ đ quy là v n đ được
đnh nghĩa b ng chính nó.
Ví d
T ng S(n) được tính thông qua
t ng S(n-1).
2 đi u ki n quan tr ng
T n t i b ước đ quy.
Đi u ki n d ng.