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

Bài giảng Kỹ thuật lập trình: Chương 1 - Võ Quang Hoàng Khang

47 37 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

Nội dung

Chương 1 trang bị cho người học kiến thức cơ bản về lập trình đệ quy. Nội dung chính trong chương này gồm có: Khái niệm, thiết kế giải thuật đệ quy, cấu trúc hàm đệ quy, phân loại đệ quy, đệ quy tuyến tính, đệ quy nhị phân, đệ quy hỗ tương,... Mời các bạn cùng tham khảo.

Võ Quang Hoàng Khang  Cho S(n) = + + + … + n =>S(10)? S(11)?  Một hàm được gọi có tính đệ quy nếu thân của hàm đó có lệnh gọi lại chính nó  Ví dụ S(n) được tính thơng qua S(n-1)  điều kiện quan trọng Tồn tại bước đệ quy Điều kiện dừng   B1 Tham số hố tốn  B3 Tìm trường hợp suy biến B2 Phân tích trường hợp chung: đưa tốn dạng tốn loại có phạm vi giải nhỏ theo nghĩa dần tiến đến trường hợp suy biến Hàm đệ quy gồm phần:  Phần sở: Điều kiện để thoát khỏi đệ quy (điểm dừng)  Phần đệ quy: gọi đến với giá trị tham số nhỏ giá trị ban đầu  Ví dụ: n * (n - 1)! n!  0!  • Cơng thức truy hồi tính • Hàm đệ quy: (n - 1)!* n n!  0!  long GiaiThua( int n ) { if(n==0) return 1; else return GiaiThua(n-1)*n; } • Hàm đệ quy nhập mảng chiều: void NhapMang(int a[],int n) { if(n>0) { NhapMang(a,n-1); cin>>a[n-1]; } } Trong thân hàm có nhất lời gọi hàm gọi lại chính nó một cách tường minh TenHam () { if (điều kiện dừng) { //Trả giá trị hay kết thúc công việc } //Thực công việc (nếu có) TenHam (); //Thực công việc (nếu có) } 10 N đĩa A B C N đĩa A B C Giải thuật đệ quy toán Tháp Hà Nội: void HaNoi (int n, char A, char B, char C) { if (n==1) cout

Ngày đăng: 11/05/2021, 19:32

TỪ KHÓA LIÊN QUAN