Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 97 trang
THÔNG TIN TÀI LIỆU
Cấu trúc
Slide 1
Đệ quy?
Đệ quy?
Ví dụ
Cấu trúc chương trình
Tính giai thừa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Tính giai thừa không đệ quy
Lũy thừa
Lũy thừa
Lũy thừa
Activations Stack Example
Lũy thừa
Tổ hợp N chập k
n chập k
Slide 28
Dãy FiBonaci
Slide 30
FIBONACI
Fibonacci
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Tháp Hà Nội (Tower of Hanoi)
Tháp Hanoi
1 đĩa
1 đĩa
2 đĩa
2 đĩa
2 đĩa
2 đĩa
N đĩa
N đĩa
N đĩa
Towers of Hanoi
Towers of Hanoi
Towers of Hanoi
Towers of Hanoi
Towers of Hanoi
Towers of Hanoi
Towers of Hanoi
Towers of Hanoi
Tháp Hà nội
Cài đặt
Slide 73
Các loại đệ quy
Bài tốn n - hậu
Bài tốn n - hậu
Bài tốn n - hậu
Bài tốn n - hậu
Bài tốn n - hậu
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Minh họa
Slide 91
Minh họa
Minh họa
Minh họa
Minh họa
Khử đệ quy
Bài tập
Nội dung
Đệ quy Phạm Thi Vương 6/27/14 Nhập môn CTDL và Thuật toán 2 Ñeä quy? • Một khái niệm X gọi là định nghĩa theo đệ qui nếu trong chính định nghĩa X có sử dụng khái niệm X Ví dụ: 1. Định nghĩa Số tự nhiên: 0 là một số tự nhiên n > 0 là số tự nhiên nếu n – 1 là số tự nhiên 2. Định nghĩa n giai thừa 0! = 1 Nếu n >0 thì n! = n* (n-1)! 6/27/14 Nhập mơn CTDL và Thuật tốn 3 Đệ quy? • Đưa bài toán hiện tại về một bài toán cùng loại, cùng tính chất (đồng dạng) nhưng ở cấp độ thấp hơn, quá trình này tiếp tục cho đến khi bài toán đưa về cấp độ có thể giải được. • Đệ quy là kỹ thuật giải quyết vấn đề bằng cách giải quyết vấn đề nhỏ hơn cùng loại. 6/27/14 Nhập môn CTDL và Thuật toán 4 Ví dụ 1 if n = 0 n!= (n-1)!*n if n > 0 1 if n = 0 n!= 1*2*3*…*(n-1)*n if n > 0 • Định nghĩa số Số tự nhiên - 0 là một số tự nhiên. - n là số tự nhiên nếu n - 1 là số tự nhiên. 6/27/14 Nhập môn CTDL và Thuật toán 5 Cấu trúc chương trình Chương trình đệ qui gồm hai phần chính: 1. Phần cơ sở: Điều kiện thoát khỏi đệ qui 2. Phần đệ quy: Trong phần thân chương trình có lời gọi đến chính bản thân chương trình với giá trị mới của tham số nhỏ hơn giá trị ban đầu 6/27/14 Nhập môn CTDL và Thuật toán 6 Tính giai thöøa int Fact(int n) { if (n==0) // c sơ ở return 1; else return n * Fact (n-1); } 6/27/14 Nhập môn CTDL và Thuật toán 7 Minh họa Gọi hàm answer <- Fact(5) CT chính: Chưa xong: answer <- Fact (5) 6/27/14 Nhập môn CTDL và Thuật toán 8 Minh họa CT chính: Chưa xong: answer <- Fact (5) Fact. 1st: N=5, Chưa xong: 5*Fact(4) 6/27/14 Nhập môn CTDL và Thuật toán 9 Minh họa CT chính: Chưa xong: answer <- Fact (5) Fact. 1st: N=5, Chưa xong: 5*Fact(4) Fact. 2nd: N=4, Chưa xong: 4*Fact(3) 6/27/14 Nhập môn CTDL và Thuật toán 10 Minh họa CT chính: Chưa xong: answer <- Fact (5) Fact. 1st: N=5, Chưa xong: 5*Fact(4) Fact. 2nd: N=4, Chưa xong: 4*Fact(3) Fact. 3rd: N=3, Chưa xong: 3*Fact(2)