Cu trúc dliu và gii thut
Đố Bích Dip- Khoa CNTT-ĐHBKHN 1
CutrúcdliuvàGiithut
Chương II
Gii thut đệ qui
Gii thut đệ qui
Ni dung
Các khái nim cơ bn
Mt s d
Phân tích gii thut đệ qui
Cu trúc dliu và gii thut
Đố Bích Dip- Khoa CNTT-ĐHBKHN 2
Mt s đối tượng đ qui
Mt s đối tượng đ qui
zHàm đệ qui:
hàm được xác định phthuc vào mt biến
nguyên không âm n theo sơ đồ:
zBước cơ s: xác định giá trhàm ti mt giá trn giá tr
nhnht có thca biến
zBước đệ qui: Cho giá tr f(k) , đưa ra qui tc để nh
f(k+1)
Cu trúc dliu và gii thut
Đố Bích Dip- Khoa CNTT-ĐHBKHN 3
Mt s đối tượng đ qui
zTp hp đệ qui
tp được xác định như sau
zBước cơ s: Định nghĩa tp cơ s
zBước đệ qui: Xác định qui tc để sn sinh tp mi t
tp đã có
Mt s đối tượng đ qui
zĐịnh nghĩa đệ qui ca xâu ký t
A = bng chcái, tp các xâu S trên bng ch
cái A được xác định
zXâu rng là xâu trong S
zNếu w thuc S và x là mt ký ttrong A thì wx là xâu
trong S
Cu trúc dliu và gii thut
Đố Bích Dip- Khoa CNTT-ĐHBKHN 4
Mt s đối tượng đ qui
zCây
Định nghĩa đệ qui ca cây
zMt nút to thành 1 cây
zNếu có n cây T1, T2, …, Tnvi nút gc là r1, r2, … , rn; r
mt nút có quan hcha-con r1, r2, … , rn thì tn ti mt
cây mi T nhn r làm gc
Gii thut đệ qui
Định nghĩa: Gii thut đệ qui là gii thut được
định nghĩa sdng chính gii thut có dng
ging nó
Cu trúc ca mt thut toán đệ qui bao gm 2
bước
zBước cơ s
Vi nhng giá tr đầu vào đủ nh, bài toán có thgii quyết
trc tiếp
zBước đệ qui
Li gi đến gii thut đang định nghĩa
Li gi đệ qui phi được định nghĩa để tiến gn hơn đến
bước cơ s
Cu trúc dliu và gii thut
Đố Bích Dip- Khoa CNTT-ĐHBKHN 5
Các dng gii thut đệ qui
Đệ qui trc tiếp : AÆA
Đệ qui gián tiếp: AÆB ÆÆA
Đệ qui đuôi
zLi gi đệ qui luôn luôn nm cui cùng trong gii thut
Gii thut đệ qui
d: Hàm tính n!
>
=
=0)1(*
01
)( nifnFactn
nif
nFact
Function recursiveFactorial(n)
Begin
{Tính giá trn! }
1. if n = 0 then return 1
else return n*FACT(n-1);
2. End.
Trường hp cơ s
Li gi đệ qui
Thp kết qu