intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Phương pháp lập trình: Bài 8 - TS. Ngô Hữu Dũng

Chia sẻ: Cao Thi Ly | Ngày: | Loại File: PDF | Số trang:43

59
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Phương pháp lập trình: Bài 8 do TS. Ngô Hữu Dũng biên soạn trình bày các nội dung sau: Khái niệm đệ quy, hàm đệ quy trong NNLT C, cấu trúc hàm đệ quy, đệ quy tuyến tính, đệ quy nhị phân, đệ quy hỗ tương,...

Chủ đề:
Lưu

Nội dung Text: Bài giảng Phương pháp lập trình: Bài 8 - TS. Ngô Hữu Dũng

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH<br /> <br /> Phương pháp lập trình<br /> Đệ quy<br /> TS. Ngô Hữu Dũng<br /> <br /> Bài toán<br /> <br /> <br /> Cho S(n) = 1 + 2 + 3 + … + n<br /> =>S(10)? S(11)?<br /> <br /> S(10)<br /> <br /> = 1 + 2 + … + 10 = 55<br /> <br /> S(11)<br /> <br /> = 1 + 2 + … + 10 + 11 = 66<br /> =<br /> <br /> S(10)<br /> <br /> =<br /> <br /> 55<br /> <br /> + 11<br /> + 11 = 66<br /> <br /> Phương pháp lập trình - Đệ quy<br /> <br /> 2 bước giải bài toán<br /> Bước 2. Thế ngược<br /> S(n)<br /> <br /> = S(n-1) +<br /> S(n-1)<br /> <br />  Xác định kết quả bài toán<br /> đồng dạng từ đơn giản đến<br /> phức tạp  Kết quả cuối cùng.<br /> <br /> n<br /> <br /> = S(n-2) + n-1<br /> …<br /> <br /> Bước 1. Phân tích<br /> <br /> =<br /> <br /> …<br /> S(1)<br /> <br />  Phân tích thành bài toán đồng<br /> dạng nhưng đơn giản hơn.<br />  Dừng lại ở bài toán đồng<br /> dạng đơn giản nhất có thể xác<br /> định ngay kết quả.<br /> <br /> + …<br /> =<br /> <br /> Phương pháp lập trình - Đệ quy<br /> <br /> S(0)<br /> <br /> +<br /> <br /> 1<br /> <br /> S(0)<br /> <br /> =<br /> <br /> 0<br /> <br /> Khái niệm đệ quy<br /> Khái niệm<br /> Vấn đề đệ quy là vấn đề được<br /> định nghĩa bằng chính nó.<br /> <br /> Ví dụ<br /> Tổng S(n) được tính thông qua<br /> tổng S(n-1).<br /> <br /> 2 điều kiện quan trọng<br />  Tồn tại bước đệ quy.<br />  Điều kiện dừng.<br /> Phương pháp lập trình - Đệ quy<br /> <br /> Hàm đệ quy trong NNLT C<br /> <br /> <br /> Khái niệm<br /> <br /> <br /> Một hàm được gọi là đệ quy nếu bên trong thân của hàm đó có<br /> lời gọi hàm lại chính nó một cách trực tiếp hay gián tiếp.<br /> <br /> … Hàm(…)<br /> {<br /> …<br /> …<br /> Lời gọi Hàm<br /> …<br /> …<br /> …<br /> }<br /> <br /> ĐQ trực tiếp<br /> <br /> … Hàm1(…)<br /> {<br /> …<br /> …<br /> Lời gọi Hàm2<br /> …<br /> …<br /> …<br /> }<br /> <br /> … Hàm2(…)<br /> {<br /> …<br /> …<br /> Lời gọi Hàmx<br /> …<br /> …<br /> …<br /> }<br /> <br /> ĐQ gián tiếp<br /> <br /> Phương pháp lập trình - Đệ quy<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2