Bài giảng Kỹ thuật lập trình - Bài 4: Đệ quy

Mô tả mang tính đệ quy về một đối tượng là mô tả theo cách phân tích đối tượng thành nhiều thành phần mà trong số các thành phần có thành phần mang tính chất của chính đối tượng được mô tả. Để hiểu rõ hơn về điều này mời các bạn tham khảo Bài giảng Kỹ thuật lập trình - Bài 4: Đệ quy sau. | Bài 4 ĐỆ QUY Trịnh Thành Trung trungtt@ 1 ĐỆ QUY - Khái niệm đệ quy • Mô tả mang tính đệ quy về một đối tượng là mô tả theo cách phân tích đối tượng thành nhiều thành phần mà trong số các thành phần có thành phần mang tính chất của chính đối tượng được mô tả. • Tức là mô tả đối tượng qua chính nó. – Mô tả đệ quy tập số tự nhiên N : • Số 1 là số tự nhiên (1-N). • Số tự nhiên bằng số tự nhiên cộng 1. – Mô tả đệ quy cấu trúc danh sách (list) kiểu T : • Cấu trúc rỗng là một danh sách kiểu T. • Ghép nối một thành phần kiểu T (nút kiểu T) với một danh sách kiểu T ta có một danh sách kiểu T. – Mô tả đệ quy cây gia phả: Gia phả của một người bao gồm người đó và gia phả của cha và gia phả của mẹ Ví dụ • Định nghĩa không đệ quy n!: – n! = n * (n-1) * * 1 • Định nghĩa đệ quy: – n! = 1 n * (n-1)! nếu n=0 nếu n>0 • Mã C++: int factorial(int n) { if (n==0) return 1; else return (n * factorial(n - 1)); } Mô tả đệ quy • Mô tả đệ quy gồm hai phần – Phần neo: trường hợp suy biến của đối tượng – Ví dụ: 1 là số tự nhiên, cấu trúc rỗng là danh sách kiểu T, 0!=1, SM (a[x:x]) là thao tác rỗng. – Phần qui nạp: mô tả đối tượng (giải thuật) thông qua chính đối tượng (giải thuật ) đó một cách trực tiếp hoặc gián tiếp. Ví dụ: – n! = n * (n –1)! – SM (a[m:n]) ≡Merge (SM (a[m:( m+n) div 2] , SM (a[(m+n) div 2 +1 : n]) .

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
39    68    1    27-04-2024
Đã 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.