1. Trang chủ
  2. » Thể loại khác

Chương: Dequy potx

97 274 0

Đ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 97
Dung lượng 1,04 MB

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)

Ngày đăng: 27/06/2014, 08:20

w