TAILIEUCHUNG - Kỹ thuật đệ qui

Nội dung của tài liệu trình bày về kỹ thuật lập trình đệ qui, khái niệm về chương trình đệ qui, các dạng chương trình đệ qui, theo dõi hoạt động của chương trình đệ qui, một số bài toán đệ qui thông dụng và một số ứng dụng khác. | KỸ THUẬT ĐỆ QUI Kỹ thuật lập trình đệ qui có ý nghĩa rất lớn trong khoa học máy tính, có rất nhiều thuật toán đòi hỏi cài đặt rất phức tạp và cầu kỳ nếu không dùng kỹ thuật đệ qui. Đối với một số thuật toán do bản chất tự nhiên của chúng đã mang tính đệ qui, việc cài đặt đệ qui là gọn và đẹp nhất. Khuyết điểm lớn nhất của kỹ thuật đệ qui là: lời giải đệ qui cho một số bài toán có thể bị chạy rất chậm do sự bùng nỗ tổ hợp. I. KHÁI NIỆM VỀ CHƯƠNG TRÌNH ĐỆ QUI Một thủ tục (hay hàm) được gọi là có tính đệ qui nếu trong thân của thủ tục (hay hàm) đó có lệnh gọi lại chính nó một cách tường minh hay tiềm ẩn. Ví dụ 1. Với n là số nguyên không âm, ta định nghĩa n! như sau: 0!=1, n!=n.(n-1)! nếu n≥1. Hãy cài đặt chương trình tính n!. Đây là một ví dụ có thể cài đặt dễ dàng bằng phương pháp thông thường, tuy nhiên nếu dựa vào định nghĩa của n! chúng ta có thể cài đặt một cách tự nhiên bằng phương pháp đệ qui như sau. long GiaiThua(int n) /* n >= 0 */ { long ret; /* gia tri trả về của hàm */ if(n==0) /* điều kiện kiện dừng */ ret = 1; else ret = n*GiaiThua(n-1); /* gọi lại chính nó */ return ret; } Đối với ví dụ nầy, cách cài đặt bằng đệ qui rất tự nhiên và đơn giản nhưng không phải là cách cài đặt hay nhất. Chú ý rằng bất kỳ hàm đệ qui nào cũng phải có điều kiện dừng, điều kiện nầy sẽ kết thúc quá trình đệ qui bằng một đoạn mã chương trình được viết theo lối thông thường. Câu lệnh if(n==0). trong ví dụ trên là điều kiện dừng của hàm GiaiThua. Ví dụ 2. Hàm tính căn bậc 3 của một số thực có thể cài đặt đệ qui theo hai hàm exp và log (hàm logarithm ln(x)) nhờ vào nhận xét sau đây: x > 0 : 3 x = e ln ( x ) / 3 x = 0: 3 x = 0 x #include double sqrt3(double x) { double ret; if(x==0) /* điều kiện dừng */ ret = .

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã 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.