1. Trang chủ
  2. » Công Nghệ Thông Tin

BÀI TẬP LỚN TỔNG QUAN VỀ KỸ THUẬT ĐỆ QUY

22 982 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 514 KB

Nội dung

BÀI TẬP LỚN TỔNG QUAN VỀ KỸ THUẬT ĐỆ QUY

ĐẠI HỌC QUỐC GIA HÀ NỘI ĐẠI HỌC KHOA HỌC TƯ NHIÊN BÀI TẬP LỚN TỔNG QUAN VỀ KỸ THUẬT ĐỆ QUY GIẢNG VIÊN : Nguyễn Bích Thuỷ Lớp K52A3,Toán-Tin ứng dụng M c l cụ ụ  GIỚI THIỆU CHUNG VỀ KỸ THUẬT ĐỆ QUY  KỸ THUẬT ĐỆ QUY.  Khái niệm kỹ thuật đệ quy, các loại đệ quy.  Khái niệm đệ quy.  Phương pháp sử dụng kỹ thuật đệ quy trong một bài toán.  Cơ chế thực hiện giải thuật đệ quy.  Ví dụ minh họa  KHỬ ĐỆ QUY.  Tổng quan về vấn đề giải thuật đệ quy.  Các trường hợp khử đệ quy đơn giản.  Ví dụ minh họa.  TỔNG KẾT. Khái niệm đệ quy  Là phương pháp dùng trong các chương trình máy tính trong đó có hàm có lệnh gọi lại chính hàm đó. VD: int giaithua(int n) { if(n==0||n==1) return 1; else return n*giaithua(n-1); } Cấu trúc đệ quy đầy đủ:  Phần neo : là phần không đệ quy, có thể biết được giá trị của nó. VD tính giai thừa của số tự nhiên n: 0!=1; 1!=1; là trường hợp suy biến  Phần quy nạp: phần chứa câu lệnh gọi lại hàm đó VD: n!=n*(n-1)!; Các loại đệ quy Phân loại theo cách mô tả đệ quy:  Đệ quy trực tiếp là loại đệ quy mà đối tượng được mô tả trực tiếp qua nó: A mô tả qua A,B,C…trong đó B,C,…không chứa A.  Đệ quy gián tiếp là loại đệ quy mà đối tượng được mô tả gián tiếp qua nó:A mô tả qua A 1 ,A 2 …….,A n Các loại đệ quy( tiếp) Phân loại theo cách gọi hàm a) Đệ quy tuyến tính Trong thân hàm có duy nhất một lời gọi hàm gọi lại chính nó một cách tường minh. b) Đệ quy nhị phân Trong thân của hàm có hai lời gọi hàm gọi lại chính nó một cách tường minh. HÀM(tham sô 2)HÀM(tham số1) HÀM ( tham số 2) HÀM( tham số 3) … HÀM( tham sô 1) Các loại đệ quy c)Đệ quy phi tuyến Trong thân hàm này có lời gọi hàm gọi lại chính nó đặt bên trong vòng lặp. d) Đệ quy hỗ tương Trong thân hàm này có lời gọi hàm đến hàm kia và ngược lại. HÀM 1( TS ) HÀM 2(TS ) HÀM 3( TS) HÀM(TS) HÀM1(TS) HÀM2(TS) Phương pháp sử dụng kỹ thuật đệ quy Thông số hóa bài toán Tìm các trường hợp neo cùng giải thuật giải tương ứng Tìm giải thuật trong trường hợp tổng quát bằng phân rã bài toán theo kiểu đệ quy Cơ chế thực hiện giải thuật đệ quy Tổng quát :Hàm fuction F(TS) F(n) F(n-1) F(n-2) F(2) F(1)=a G i á t r ị l ớ n c ầ n t í n h G i á t r ị n e o F(n)=T.F(n-1) F(2)=T.(F(1)=a) Lưu trong bộ nhớ máy Bài toán tháp Hà Nội  Input: n: số đĩa cần chuyển từ cột A->C qua trung gian B  Output: in ra cách di chuyển n đĩa A-Nguồn B-TG C-ĐÍCH [...]... BACK KHỬ ĐỆ QUY  Tổng quan về vấn đề giải thuật đệ quy Giải thuật giải bài toán bằng đệ quy thường rất đẹp, nhưng…  Các trường hợp khử đệ quy đơn giản • • • Khử đệ quy bằng vòng lặp Khử đệ quy hàm đệ quy arsac Khử đệ quy bằng các phương pháp khác Khử đệ quy bằng vòng lặp • • W(V,U) với U là các biến thay đổi trong vòng lặp và V là các biến còn lại Dạng tổng quát: W:=W0; Khởi tạo while Không thỏa... đĩa từ cột đầu X đến cột cuối Z ; n := n - 1 ; Swap (X ,Y ) ; } (k=1); } } Tổng kết về kỹ thuật đệ quy • Đệ quy cung cấp cho ta cơ chế giải quy t bài toán phức tạp một cách đơn giản • Xây dựng đệ quy thông qua việc xác định điều kiện dừng và bước thực hiên tiếp theo • Chỉ nên cài dặt phương pháp đệ quy khi không còn cách giải quy t bằng cách lặp thông thường Thank you for listening ... trình đệ qui 2.Tránh dùng đệ qui khi có thể dùng phép lặp tính toán Nhận xét về kỹ thuật đệ quy Ưu điểm Điểm mạnh lớn nhất: làm chương trình, code, trở lên ngắn gọn Dễ chuyển thành chương trình trên các ngôn ngữ lập trình Nhược điểm Nhược điểm lớn nhất là tốn bộ nhớ, Mất nhiều thời gian xử lý, làm giảm tốc độ chạy chương trình Không áp dụng cho mọi ngôn ngữ lập trình BACK KHỬ ĐỆ QUY  Tổng quan về vấn... trung gian THN(k-1,B,A,C) Vậy giải thuật trong trương hợp tổng quát (n>1) là: Code Chuong trinh web Tiêu chí sử dụng kỹ thuật đệ quy  Tiêu chí  Thực hiện lại một khối việc tương tự  Phải có điểm kết thúc  Thường Áp dụng cho: • • • Bài toán tìm kiếm, liệt kê ( đối tượng có tích chất tương đồng) Bài toán tối ưu hóa; Bài toán tìm đường đi, chu trình Vd: halminton Lưu ý: 1 .đệ qui sử dụng bộ nhớ kiểu LIFO... return( DS (A(CS(X)) ,FS(CS(X),X) ) else (return (BS(X ) ) Trong đó DS,FS,BS,CS là các giải thuật không đệ quy • • BS(X) , CS(Y) , DS(U,V) , FS(U,V) là các hàm đơn giản không có lệnh gọi hàm con X,Y,U,V là các biến véc tơ hoặc các biến đơn trị • Cơ chế hàm arsac : u1 u2 un Un+1 ux NEO un u2 U1 vn v2 v1 Ví dụ về khử đệ quy { creatstack S; Push (S ,(n,X,Y,Z,1)) ; While ( n > 0 ) { Push (S ,(n,X,Y,Z,2)) ;.. .Bài toán tháp Hà Nội 1 Phân tích: Xét: hàm THN(char A;charB;char C;int n) hàm xử lý chương trình Move(char A,char C): phép di chuyển cơ bản từ A->C   – – Thông số bài toán: xét bài toán ở mức độ tổng quát THN(A,B,C,n) Trưòng hợp suy biến và cách giải n=0: TNH(A,B,C,0)={Φ} N=1: THN(A,B,C,1)=Move(a,c)  Phân rã bài toán chuyển n (n>0) đĩa từ cột A sang cột . BÀI TẬP LỚN TỔNG QUAN VỀ KỸ THUẬT ĐỆ QUY GIẢNG VIÊN : Nguyễn Bích Thuỷ Lớp K52A3,Toán-Tin ứng dụng M c l cụ ụ  GIỚI THIỆU CHUNG VỀ KỸ THUẬT ĐỆ QUY  KỸ THUẬT ĐỆ QUY.  Khái niệm kỹ thuật đệ. thuật đệ quy, các loại đệ quy.  Khái niệm đệ quy.  Phương pháp sử dụng kỹ thuật đệ quy trong một bài toán.  Cơ chế thực hiện giải thuật đệ quy.  Ví dụ minh họa  KHỬ ĐỆ QUY.  Tổng quan về vấn. thuật đệ quy Giải thuật giải bài toán bằng đệ quy thường rất đẹp, nhưng…  Các trường hợp khử đệ quy đơn giản. • Khử đệ quy bằng vòng lặp. • Khử đệ quy hàm đệ quy arsac. • Khử đệ quy bằng các phương

Ngày đăng: 17/07/2015, 12:35

TỪ KHÓA LIÊN QUAN

w