Page 3
Nội dung 2.1. Khái niệm đệ qui 2.2. Thuật toán đệ qui 2.3. Một số ví dụ minh hoạ 2.4. Phân tích thuật toán đệ qui 2.5. Đệ qui có nhớ 2.6. Chứng minh tính đúng đắn của thuật toán đệ qui Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBK Hà Nội 3
Nội dung 2.1. Khái niệm đệ qui 2.2. Thuật toán đệ qui 2.3. Một số ví dụ minh hoạ 2.4. Phân tích thuật toán đệ qui 2.5. Đệ qui có nhớ 2.6. Chứng minh tính đúng đắn của thuật toán đệ qui Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBK Hà Nội 3
2.1. Khái niệm đệ qui • 2.1.1 Khái niệm đệ qui • 2.1.2 Thuật toán đệ qui Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBK Hà Nội 4
Khái niệm đệ qui • Trong thực tế ta thường gặp những đối tượng bao gồm chính nó hoặc được định nghĩa dưới dạng của chính nó. Ta nói các đối tượng đó được xác định một cách đệ qui. • Ví dụ: – Điểm quân số – Fractal – Các hàm được định nghĩa đệ qui – Tập hợp được định nghĩa đệ qui – Định nghĩa đệ qui của cây – ... Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBK Hà Nội 5
Fractals fractals là ví dụ về hình ảnh được xây dựng một cách đệ qui (đối tượng lặp lại một cách đệ qui). Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBK Hà Nội 17
Hàm đệ qui (Recursive Functions) Các hàm đệ qui được xác định phụ thuộc vào biến nguyên không âm n theo sơ đồ sau: Bước cơ sở (Basic Step): Xác định giá trị của hàm tại n=0: f(0). Bước đệ qui (Recursive Step): Cho giá trị của f(k), k ≤ n, đưa ra qui tắc tính giá trị của f(n+1). Ví dụ 1: f(0) = 3, n = 0 f(n+1) = 2f(n) + 3, n > 0 Khi đó ta có: f(1) = 2 × 3 + 3 = 9, f(2) = 2 × 9 + 3 = 21, ... Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBK Hà Nội 18
Hàm đệ qui (Recursive Functions) Ví dụ 2: Định nghĩa đệ qui của n! : f(0) = 1 f(n+1) = f(n) × (n+1) Để tính giá trị của hàm đệ qui ta thay thế dần theo định nghĩa đệ qui để thu được biểu thức với đối số càng ngày càng nhỏ cho đến tận điều kiện đầu. Chẳng hạn: đệ qui 5! = 5 · 4! = 5 · 4 · 3! = 5 · 4 · 3 · 2! = 5 · 4 · 3 · 2 · 1! = 5 · 4 · 3 · 2 · 1 · 0! = 5 · 4 · 3 · 2 · 1 · 1 = 120 điều kiện đầu Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBK Hà Nội 19
Hàm đệ qui (Recursive Functions) n Ví dụ 3: Định nghĩa đệ qui của tổng s = a n k k=1 s1 = a1 sn = sn-1 + an Ví dụ 4: Dãy số Fibonacci f(0) = 0, f(1) = 1, f(n) = f(n-1) + f(n-2) với n > 1 Cấu trúc dữ liệu và thuật toán - KHMT, ĐHBK Hà Nội 20
Showing the first 20 pages. Download the document to see it all.
No comments yet. Be the first!
Comments (0)
No comments yet. Be the first!