Nguyễn Minh Thành
Thanhnm.itc@itc.edu.vn
Lập trình đệ qui
Khái niệm
Mộtm được gi có tính đệ qui nếu trong thân củam đó có lnh
gọi li chính nó mộtch tường minh hay tiềm n.
Phân loại đệ qui
Đệ qui tuyến tính.
Đệ qui nhị phân.
Đệ qui phi tuyến.
Đệ qui hỗ tương.
2
Đệ qui tuyến nh
Trong thân hàm duy nht một lời gi hàm gi lại chính nó mt
ch tường minh.
<Kiểu dư liệu hàm> TenHam (<danh ch tham >)
{
if (điều kiện dừng)
{
. . .
//Travê gia trị hay kết thúc công việc
}
//Thực hiện một công việc (nếu )
. . . TenHam (<danh ch tham >);
//Thực hiện một công việc (nếu )
}
3
Đệ qui tuyến nh (tt)
Ví dụ: Tính
- Điều kin dừng: S(0) = 0.
- Qui tắc (công thức) nh: S(n) = S(n-1) + n.
long TongS (int n)
{
if(n==0)
return 0;
return ( TongS(n-1) + n );
}
nnS
321)(
4
Đệ qui nhphân
Trong thân của hàm hai lời gọi hàm gọi lại chính nó một ch tường
minh.
<Kiểu dư liệu hàm> TenHam (<danh ch tham >)
{
if (điều kiện dừng)
{
. . .
//Travê gia trị hay kết thúc công việc
}
//Thực hiện một công việc (nếu )
. . .TenHam (<danh ch tham >); //Giải quyết vấn đênho hơn
//Thực hiện một công việc (nếu )
. . . TenHam (<danh ch tham >); //Giải quyết vấn đêcòn lại
//Thực hiện một công việc (nếu )
}
5