tailieunhanh - Kiến trúc máy tính - Bài 5

Đệ qui (Recursion) Đệ qui trong lập trình 1 Đệ qui trong thực tế (Recursion in practice) Hệ điều hành: Các thư mục Cú pháp của ngôn ngữ lập trình (Syntax of languages) Đồ họa | Bài 5. Đệ qui (Recursion) Đệ qui trong lập trình Đệ qui trong thực tế (Recursion in practice) Hệ điều hành: Các thư mục Cú pháp của ngôn ngữ lập trình (Syntax of languages) Đồ họa máy tính (Computer Graphics) Tự nhiên: cây cối Đệ qui trong lập trình Một cuộc hành trình 1000 bước và việc thực hiện hành trình bắt đầu ở bước thứ nhất. Làm thế nào thế nào để hoàn thành cuộc hành trình này? Thực hiện bước 1 và tạo ra cuộc hành trình mới có 999 bước. Đệ qui trong lập trình Hàm (phương thức) đệ qui Đệ qui: Khi một hàm gọi đến chính nó Ví dụ tính giai thừa: n! = 1· 2· 3· ··· · (n-1)· n Hàm trong C++ // hàm đệ qui tính giai thừa int recursiveFactorial(int n) { if (n == 0) return 1; // trường hợp cơ sở else return n * recursiveFactorial(n- 1); } Đệ qui trong lập trình Đệ qui tuyến tính – Đệ qui 1 lần Kiểm tra trường hợp cơ sở. Bắt đầu bằng việc kiểm tra các trường hợp cơ sở ( ở đó phải có ít nhất một trường hợp). Đây chính là điều kiện để kết thúc đệ qui. Các lời gọi đệ qui . | Bài 5. Đệ qui (Recursion) Đệ qui trong lập trình Đệ qui trong thực tế (Recursion in practice) Hệ điều hành: Các thư mục Cú pháp của ngôn ngữ lập trình (Syntax of languages) Đồ họa máy tính (Computer Graphics) Tự nhiên: cây cối Đệ qui trong lập trình Một cuộc hành trình 1000 bước và việc thực hiện hành trình bắt đầu ở bước thứ nhất. Làm thế nào thế nào để hoàn thành cuộc hành trình này? Thực hiện bước 1 và tạo ra cuộc hành trình mới có 999 bước. Đệ qui trong lập trình Hàm (phương thức) đệ qui Đệ qui: Khi một hàm gọi đến chính nó Ví dụ tính giai thừa: n! = 1· 2· 3· ··· · (n-1)· n Hàm trong C++ // hàm đệ qui tính giai thừa int recursiveFactorial(int n) { if (n == 0) return 1; // trường hợp cơ sở else return n * recursiveFactorial(n- 1); } Đệ qui trong lập trình Đệ qui tuyến tính – Đệ qui 1 lần Kiểm tra trường hợp cơ sở. Bắt đầu bằng việc kiểm tra các trường hợp cơ sở ( ở đó phải có ít nhất một trường hợp). Đây chính là điều kiện để kết thúc đệ qui. Các lời gọi đệ qui hàm phải thực sự hướng quá trình đệ qui về trường hợp cơ sở (để kết thúc đệ qui). Đệ qui một lần. Thực hiện gọi đệ qui chỉ một lần trong hàm. (Có thể trong hàm có nhiều bước kiểm tra để quyết định lựa chọn lời gọi đệ qui, nhưng trong tất cả các trường hợp đó thì chỉ một trường hợp được gọi thực sự) Khi định nghĩa hàm đệ qui thì mỗi lần gọi đệ qui trong hàm phải dẫn dần về trường hợp cơ sở. Đệ qui trong lập trình Ví dụ 1:Cộng các phần tử của một mảng 4 3 6 2 5 Cho mảng A có n phần tử Đệ qui trong lập trình Ví dụ đơn giản cho đệ qui tuyến tính Algorithm LinearSum(A, n): Input: Một mảng A có kiểu nguyên và số nguyên n ≥ 1, A có ít nhất n phần tử Output: Tổng của n số nguyên đầu tiên trong A if n = 1 then return A[0] else return LinearSum(A, n - 1) + A[n - 1] Ví dụ vết đệ qui: LinearSum ( A , 5 ) LinearSum ( A , 1 ) LinearSum ( A , 2 ) LinearSum ( A , 3 ) LinearSum ( A , 4 ) call call call call return A [ 0 ] = 4 return 4 + A [ 1 ] = 4 + 3 = 7 return 7 + A [ 2 ] = 7 + 6 = 13 return .

crossorigin="anonymous">
Đã 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.