Bài giảng Hệ thống máy tính và ngôn ngữ lập trình - Chương 14: Đệ quy. Bài giảng cung cấp cho học viên những kiến thức về khái niệm đệ quy; đệ quy và lặp; tháp Hà nội; dãy số Fibonacci; tìm kiếm nhị phân; chuyển số nguyên sang dãy ký tự ASCII; cấu trúc dữ liệu cây – cây nhị phân;... Mời các bạn cùng tham khảo!
1 Các nội dung: Đệ quy gì? Đệ quy lặp Tháp Hà nội Dãy số Fibonacci Tìm kiếm nhị phân Chuyển số nguyên sang dãy ký tự ASCII Cấu trúc liệu – nhị phân © TS Nguyễn Phúc Khải Đệ quy gì? n Ví dụ 18.1: Tính tổng i int RunningSum(int n) { if (n == 1) return 1; else return n + RunningSum(n-1); } © TS Nguyễn Phúc Khải ĐỆ QUY VÀ LẶP Tất hàm đệ quy viết vịng lặp Việc sử dụng đệ quy dễ dàng sáng dùng vòng lặp Bản đệ quy tương đối chậm hàm đệ quy chịu gọi hàm cịn vịng lặp khơng © TS Nguyễn Phúc Khải THÁP HÀ NỘI Bài tốn: có ba cột, ba cột có đĩa gỗ theo thứ tự đĩa nhỏ đĩa lớn Chúng ta phải chuyển tất đĩa từ cột thời qua hai cột theo hai luật sau: lần di chuyển đĩa đĩa lớn không đặt đĩa nhỏ © TS Nguyễn Phúc Khải DÃY SỐ FIBONACCI Ta có phương trình tốn truy hồi sau f (n) = f (n - 1) + f (n - 2) f (1) = f (0) = hàm đệ quy để tính số Fibonacci thứ n phương trình truy hồi © TS Nguyễn Phúc Khải CÁC BÀI TỐN Tìm kiếm nhị phân Chuyển số nguyên sang chuỗi ký tự ASCII © TS Nguyễn Phúc Khải © TS Nguyễn Phúc Khải ... n + RunningSum(n-1); } © TS Nguyễn Phúc Khải ĐỆ QUY VÀ LẶP Tất hàm đệ quy viết vòng lặp Việc sử dụng đệ quy dễ dàng sáng dùng vòng lặp Bản đệ quy tương đối chậm hàm đệ quy chịu gọi hàm... FIBONACCI Ta có phương trình tốn truy hồi sau f (n) = f (n - 1) + f (n - 2) f (1) = f (0) = hàm đệ quy để tính số Fibonacci thứ n phương trình truy hồi © TS Nguyễn Phúc Khải CÁC BÀI TỐN Tìm kiếm... Đệ quy gì? Đệ quy lặp Tháp Hà nội Dãy số Fibonacci Tìm kiếm nhị phân Chuyển số nguyên sang dãy ký tự ASCII Cấu trúc liệu – nhị phân © TS Nguyễn Phúc Khải Đệ quy gì? n Ví dụ 18.1: Tính