Bài giảng Kỹ thuật lập trình: Kỹ thuật lập trình đệ quy - ThS. Đặng Bình Phương
Số trang: 44
Loại file: ppt
Dung lượng: 5.98 MB
Lượt xem: 11
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương trình trình bày về kỹ thuật lập trình đệ quy. Nội dung chính trong chương này gồm có: Tổng quan về đệ quy, các vấn đề đệ quy thông dụng, phân tích giải thuật & khử đệ quy, các bài toán kinh điển. Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình: Kỹ thuật lập trình đệ quy - ThS. Đặng Bình PhươngBộmônCôngnghệphầnmềmKhoaCôngnghệthôngtinTrườngĐạihọcKhoahọcTựnhiên KỸTHUẬTLẬPTRÌNH ThS.ĐặngBìnhPhương dbphuong@fit.hcmus.edu.vn KỸTHUẬTLẬPTRÌNH ĐỆQUY 1 &&VCVC BB BB Nộidung 1 Tổng quan về đệ quy 2 Các vấn đề đệ quy thông dụng 3 Phân tích giải thuật & khử đệ quy 4 Các bài toán kinh điển Kỹthuậtlậptrìnhđệquy 2 &&VCVC BB BB Bàitoán ChoS(n)=1+2+3+…+n =>S(10)?S(11)? S(10) = 11 + 22 + … + 10 10 = 55 55 S(11) = 11 + 22 + … + 10 10 + 11 11 = 66 66 = S(10) + 11 11 = 55 55 + 11 11 = 66 66 Kỹthuậtlậptrìnhđệquy 3 &&VCVC BB BB 2bướcgiảibàitoán Bước2.Thếngược ác định kết quả bài toán đồng S(n) = S(n1) + nn dạngtừ đơngiản đếnphứctạp Kếtquảcuốicùng. S(n1) = S(n2) + n1 n1 … = … + … … Bước1.Phântích S(1) = S(0) + 11 hân tích thành bài toán đồng dạngnhưngđơngiảnhơn. S(0) = 00 ừng lại ở bài toán đồng dạng đơn giản nhất có thể xác định ngaykếtquả. Kỹthuậtlậptrìnhđệquy 4 &&VCVC BB BB Kháiniệmđệquy Kháiniệm Vấnđềđệquylàvấnđềđược địnhnghĩabằngchínhnó. Vídụ TổngS(n)đượctínhthôngqua tổngS(n1). 2điềukiệnquantrọng Tồntạibướcđệquy. Điềukiệndừng. Kỹthuậtlậptrìnhđệquy 5 &&VCVC BB BB HàmđệquytrongNNLTC Kháiniệm Mộthàmđượcgọilàđệquynếubêntrong thâncủahàmđócólờigọihàmlạichínhnó mộtcáchtrựctiếphaygiántiếp. … Hàm(…) … Hàm1(…) … Hàm2(…) { { { … … … … … … Lời gọi Hàm Lời gọi Hàm2 Lời gọi Hàmx … … … … … … … … … } } } ĐQtrựctiếp ĐQgiántiếp Kỹthuậtlậptrìnhđệquy 6 &&VCVC BB BB Cấutrúchàmđệquy { (TS) Phầndừng if()(Basestep) { • Phầnkhởitínhtoánhoặcđiểm kếtthúccủathuậttoán … • Khôngchứaphầnđangđược return; địnhnghĩa } Phầnđệquy … (Recursionstep) …LờigọiHàm• Cósửdụngthuậttoánđang đượcđịnhnghĩa. … } Kỹthuậtlậptrìnhđệquy 7 &&VCVC BB BB Phânloại ...
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình: Kỹ thuật lập trình đệ quy - ThS. Đặng Bình PhươngBộmônCôngnghệphầnmềmKhoaCôngnghệthôngtinTrườngĐạihọcKhoahọcTựnhiên KỸTHUẬTLẬPTRÌNH ThS.ĐặngBìnhPhương dbphuong@fit.hcmus.edu.vn KỸTHUẬTLẬPTRÌNH ĐỆQUY 1 &&VCVC BB BB Nộidung 1 Tổng quan về đệ quy 2 Các vấn đề đệ quy thông dụng 3 Phân tích giải thuật & khử đệ quy 4 Các bài toán kinh điển Kỹthuậtlậptrìnhđệquy 2 &&VCVC BB BB Bàitoán ChoS(n)=1+2+3+…+n =>S(10)?S(11)? S(10) = 11 + 22 + … + 10 10 = 55 55 S(11) = 11 + 22 + … + 10 10 + 11 11 = 66 66 = S(10) + 11 11 = 55 55 + 11 11 = 66 66 Kỹthuậtlậptrìnhđệquy 3 &&VCVC BB BB 2bướcgiảibàitoán Bước2.Thếngược ác định kết quả bài toán đồng S(n) = S(n1) + nn dạngtừ đơngiản đếnphứctạp Kếtquảcuốicùng. S(n1) = S(n2) + n1 n1 … = … + … … Bước1.Phântích S(1) = S(0) + 11 hân tích thành bài toán đồng dạngnhưngđơngiảnhơn. S(0) = 00 ừng lại ở bài toán đồng dạng đơn giản nhất có thể xác định ngaykếtquả. Kỹthuậtlậptrìnhđệquy 4 &&VCVC BB BB Kháiniệmđệquy Kháiniệm Vấnđềđệquylàvấnđềđược địnhnghĩabằngchínhnó. Vídụ TổngS(n)đượctínhthôngqua tổngS(n1). 2điềukiệnquantrọng Tồntạibướcđệquy. Điềukiệndừng. Kỹthuậtlậptrìnhđệquy 5 &&VCVC BB BB HàmđệquytrongNNLTC Kháiniệm Mộthàmđượcgọilàđệquynếubêntrong thâncủahàmđócólờigọihàmlạichínhnó mộtcáchtrựctiếphaygiántiếp. … Hàm(…) … Hàm1(…) … Hàm2(…) { { { … … … … … … Lời gọi Hàm Lời gọi Hàm2 Lời gọi Hàmx … … … … … … … … … } } } ĐQtrựctiếp ĐQgiántiếp Kỹthuậtlậptrìnhđệquy 6 &&VCVC BB BB Cấutrúchàmđệquy { (TS) Phầndừng if()(Basestep) { • Phầnkhởitínhtoánhoặcđiểm kếtthúccủathuậttoán … • Khôngchứaphầnđangđược return; địnhnghĩa } Phầnđệquy … (Recursionstep) …LờigọiHàm• Cósửdụngthuậttoánđang đượcđịnhnghĩa. … } Kỹthuậtlậptrìnhđệquy 7 &&VCVC BB BB Phânloại ...
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật lập trình Bài giảng Kỹ thuật lập trình Quản lý bộ nhớ động Thuật toán sắp xếp Kỹ thuật lập trình đệ quy Phân tích giải thuậtTài liệu liên quan:
-
Giáo trình Cấu trúc dữ liệu và thuật toán trên C++
74 trang 388 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 281 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 224 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 207 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 178 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 174 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 156 0 0 -
57 trang 144 1 0
-
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 122 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 114 0 0