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

Bài giảng Lập trình Java: Bài 11 - Bùi Trọng Tùng

13 4 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 13
Dung lượng 451,05 KB

Nội dung

Bài giảng Lập trình Java - Bài 11: Thuật toán đệ quy. Sau khi học xong bài 11, người học có thể nắm bắt được một số kiến thức cơ bản như: Thuật toán đệ quy và hàm đệ quy là gì? Thuật toán đệ quy hoạt động như thế nào? Một số thuật toán đệ quy đơn giản. Mời các bạn cùng tham khảo.

04/10/2014 BÀI 11 THUẬT TOÁN ĐỆ QUY Nội dung • Thuật toán đệ quy hàm đệ quy gì? • Thuật tốn đệ quy hoạt động nào? • Một số thuật tốn đệ quy đơn giản 04/10/2014 THUẬT TỐN ĐỆ QUY LÀ GÌ? Khái niệm “đệ quy” Droste effect Sierpinksi triangle • Đối tượng đệ quy: đối tượng mà phần tồn đối tượng định nghĩa thơng qua • Quy nạp tốn học • Q trình đệ quy: q trình mà phần tồn trình tự lặp lại theo cách 04/10/2014 Đệ quy – Ví dụ • Định nghĩa số tự nhiên: • số tự nhiên • n số tự nhiên n-1 số tự nhiên • Dãy số: • Dãy số số • Dãy số số sau dãy số • Một số thuật ngữ: • PHP = PHP: Hypertext Preprocessor • GNU = GNU’s Not Unix Thuật tốn đệ quy • Thuật tốn đệ quy thuật toán mà bước thực tự thực lại với đầu vào nhỏ hơn(kích thước, giá trị, mức độ phức tạp…) • Tư tưởng thuật toán đệ quy đưa toán cần giải toán đồng dạng mức độ thấp Ví dụ: Tính dãy số Fibonacci, n! • Tại dùng đệ quy: • Một số thuật tốn cách thức thực có tính đệ quy • Một số thuật tốn khó tìm lời giải sử dụng kỹ thuật đệ quy để giải Ví dụ: Bài tốn tháp Hà Nội • 04/10/2014 Thuật tốn đệ quy(tiếp) • Để xây dựng thuật toán đệ quy, cần xác định: • Trường hợp bản: (Các) trường hợp khơng cần thực lại thuật tốn, xác định kết đầu • Phần tổng quát: Có u cầu gọi đệ quy • Cần xác định nguyên lý đưa trường hợp tổng quát trường hợp • Đảm bảo tính dừng giải thuật đệ quy - chắn từ trường hợp tổng quát đến trường hợp • Hàm/Phương thức đệ quy: Hàm/Phương thức có lời gọi tới Các thức hoạt động thuật toán đệ quy • Để hiểu thức thực thuật toán đệ quy, xem xét ví dụ tính n! sau != × 1, =0 − × ⋯ × × 1, >0 != 1, =0 × − !, > Sử dụng vòng lặp Sử dụng đệ quy int fact(int n) { int result = 1; for (int i=1;i int fib(int n) { if (n a[mid]) return binarySearch(a, x, mid + 1, high); else if (x < a[mid]) return binarySearch(a, x, low, mid - 1); else return mid; // Base case 2: item found } 24 12 04/10/2014 Bài tập Sử dụng thuật toán đệ quy để thực phương thức sau: • Tìm UCLN số • Tính tổ hợp chập k n Ckn 25 Tài liệu tham khảo • Bài giảng sử dụng hình ảnh mã nguồn minh họa từ giảng Đại học QG Singapore (NUS) 26 13 ... ,8, 13… • Tính số Fibonacci thứ n: Fn = n ≤ Fn = Fn-1 + Fn-2 n > int fib(int n) { if (n

Ngày đăng: 08/05/2021, 14:23