Bài giảng Kỹ thuật lập trình: Đệ quy nâng cao - Nguyễn Minh Huy

Bài giảng Kỹ thuật lập trình: Đệ quy nâng cao, được biên soạn gồm các nội dung chính sau Nhận xét về đệ quy; Các bài toán kinh điển. Mời các bạn cùng tham khảo! | Đ quy nâng cao GV. Nguy n Minh Huy K thu t l p trình - Nguy n Minh Huy 1 N i dung Nh n xét v đ quy. quy. Các bài toán kinh đi n. n. K thu t l p trình - Nguy n Minh Huy 2 N i dung Nh n xét v đ quy. quy. Các bài toán kinh đi n. n. K thu t l p trình - Nguy n Minh Huy 3 Nh n xét v đ quy Khái ni m Call Stack void main main Vùng nh lưu tr ng thái A các hàm đang th c hi n. n. D Thông tin tr ng thái thái Tham s hàm. hàm. void A void C Bi n c c b . B V trí dòng l nh hi n hành. hành. C D void B void D STACK B B B C D A A A A A A A D M M M M M M M M M M M Th i gian K thu t l p trình - Nguy n Minh Huy 4 Nh n xét v đ quy L i Stack Overflow Tràn b nh Call Stack. Không th g i hàm thêm n a a Nguyên nhân nhân Công th c đ quy không h i t . S bư c đ quy quá l n. n. Kh đ quy quy Dùng vòng l p. p. Dùng ngăn x p. p. K thu t l p trình - Nguy n Minh Huy 5 Nh n xét v đ quy Khái ni m Call Tree Th hi n liên h gi a các hàm. hàm. main Giúp hình dung các bư c g i hàm. hàm. S nút t ng s l i g i hàm. nút hàm. Chi u cao kích thư c Call Stack. cao A D B C D K thu t l p trình - Nguy n Minh Huy 6 Nh n xét v đ quy Ưu đi m đ quy quy L i gi i đ quy nêu b n ch t v n đ Thu t toán rõ ràng sáng s a. ràng a. Chương trình ng n g n d hi u. n u. Nhi u bài toán ph c t p n u không dùng đ quy. quy. Gi m th i gian suy nghĩ. nghĩ. Đơn gi n hóa l p trình. trình. K thu t l p trình - Nguy n Minh Huy 7 Nh n xét v đ quy Khuy t đi m đ quy quy Các hàm đ quy l ng nhau nhau Gây khó khăn cho vi c debug. T n b nh lưu tr hàm. hàm. T c đ x lý ch m. m. Nhi u v n đ cài đ t đ quy không hi u qu . Nhi u bài toán không th gi i b ng đ quy. quy. Không nên l m d ng đ quy quy K thu t l p trình - Nguy n Minh Huy 8 N i dung Nh n xét v đ quy. quy. Các bài toán kinh đi n. n. K thu t l p trình - Nguy n Minh Huy 9 Các bài toán kinh đi n Tháp Hà N i i Bài toán toán Có 3 c t A B C. C t A có N đĩa theo th t l n dư i nh trên. i trên. Hãy chuy n N đĩa t c t A sang c t C M i l n chuy n 1 đĩa. đĩa. Đĩa nh luôn trên đĩa l . Có th dùng c t trung .

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.