Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
570,27 KB
Nội dung
Chương 2: Đệ quy giải thuật đệ quy Giảng viên: Ths Nguyễn Thị Khiêm Hòa Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Nội dung Tổng quan đệ quy Tối ưu khử đệ quy Ứng dụng giải thuật đệ quy Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Mục tiêu Hiểu rõ giải thuật đệ quy Ưu khuyết điểm giải thuật đệ quy Phương pháp khử đệ quy Một số toán ứng dụng giải thuật đệ quy điển hình Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Tổng quan đệ quy Khái niệm Giải thuật đệ quy Một thuật toán gọi đệ quy giải toán cách rút gọn liên tiếp toán gốc thành toán có đầu vào nhỏ Hàm đệ quy Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Tổng quan đệ quy Ví dụ: Xét toán tìm từ từ điển: If (từ điển trang) tìm từ trang else { Mở từ điển vào trang “giữa” Xác định xem nửa từ điển chứa từ cần tìm; if (từ nằm nửa trước) tìm từ nửa trước else tìm từ nửa sau } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Nguyên tắc hoạt động Tính chất thiếu đệ quy tính hữu hạn Hàm đệ quy gồm hai phần: Phần sở (Phần neo): Phần đệ quy: Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Thiết kế giải thuật đệ qui Để xây dựng giải thuật đệ quy , ta cần thực nội dung sau : Thông số hóa toán Tìm trường hợp neo giải thuật giải tương ứng Tìm giải thuật giải trường hợp tổng quát phân rã toán theo kiểu đệ quy Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Cài đặt hàm đệ quy Cấu trúc hàm đệ qui sau If (suy biến) ; Else { ; ; ; } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Ưu nhược điểm đệ qui Ưu điểm: Sáng sủa, dễ hiểu, nêu rõ chất vấn đề Tiết kiệm thời gian thực mã nguồn Nhược điểm: Tốn nhiều nhớ, thời gian thực thi lâu Một số toán lời giải đệ quy Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Phân loại giải thuật đệ qui Đệ quy phân thành loại : Đệ quy trực tiếp: Đệ quy gián tiếp (Tương hỗ): A() B() A() B() C() Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 10 Phương pháp quay lui (back tracking) Quan tâm: Làm để xác định tập Tk, tức tập tất khả mà phàn tử thứ k dãy x1, x2, ,xn nhận Khi có tập Tk, để xác định xk, thấy xk phụ thuộc vào số j mà phụ thuộc vào x1, x2, ,xk-1 Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 39 Liệt kê hoán vị n số tự nhiên Đặt N= {1, 2, ,n} Hoán vị n số tự nhiên x[0], x[1], ,x[n-1] Trong x[i] x[j], i,j x[i] {0 n-1} T1 = N, giả sử xác định x[0], x[1], , x[k-1] đó, Tk = {1 n}- {x[0], x[1], , x[k1]} Ghi nhớ tập Tk , k = n-1, ta cần sử dụng mảng b[0 n-1] giá trị 0, cho b[i] = i thuộc Tk Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 40 Liệt kê hoán vị n số tự nhiên Thu(int k){ if (k== n) inkq(); else for (int j=1; j[...]... Một số dạng giải thuật đệ quy đơn giản Ví dụ: Cho dãy {Xn} xác định theo công thức truy hồi: x0 = 1 ; xn = n2x0 + (n-1)2x1 + + 22 xn -2 + 12xn-1 int X(int n ) { if (n == 0) return 1; else { int tg = 0; for (int i = 0 ; i ... Thông tin - Đại học Ngân hàng TP.HCM } 15 Một số dạng giải thuật đệ quy đơn giản Ví dụ: Cho dãy {Xn} xác định theo công thức truy hồi: x0 = ; xn = n2x0 + (n-1)2x1 + + 22 xn -2 + 12xn-1 int X(int... TP.HCM Thiết kế giải thuật đệ qui Để xây dựng giải thuật đệ quy , ta cần thực nội dung sau : Thông số hóa toán Tìm trường hợp neo giải thuật giải tương ứng Tìm giải thuật giải trường hợp... Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 25 Bài toán tháp Hà Nội B C (A trung gian) A (n -2 ) B (n-1) C (2) Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 26 Bài toán tháp Hà Nội