Bài giảng Kỹ thuật lập trình - Bài 4: Đệ quy
Số trang: 57
Loại file: pdf
Dung lượng: 1.15 MB
Lượt xem: 20
Lượt tải: 0
Xem trước 6 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
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.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình - Bài 4: Đệ quy Bài 4 ĐỆ QUY Trịnh Thành Trung trungtt@soict.hust.edu.vn 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]) )
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình - Bài 4: Đệ quy Bài 4 ĐỆ QUY Trịnh Thành Trung trungtt@soict.hust.edu.vn 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]) )
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật lập trình Bài giảng Kỹ thuật lập trình Bài giảng Đệ quy Khái niệm đệ quy Hàm tính giai thừa Đệ quy tuyến tínhGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 251 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 192 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 182 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 151 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 150 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 117 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 114 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 104 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 trang 103 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 2
184 trang 84 0 0