Đệ quy là một thuật ngữ ko thân thuộc trong các tiếng nói lập trình. Vì vậy Đệ quy là gì? Làm thế nào để viết thuật toán đệ quy trong C / C ++? Bài viết dưới đây sẽ giúp bạn hiểu rõ hơn về Đệ quy và các ứng dụng của nó trong C / C ++!
Đệ quy là gì?
Theo Wikipedia, Đệ quy (Đệ quy) được hiểu là lúc sự vật được xác định bởi chính nó hoặc bởi loại của nó. Đệ quy là sự lặp lại của cùng một sự vật hoặc sự kiện.
Ví dụ, bạn đặt hai gương y chang nhau đối diện nhau (gương A và gương B). Lúc soi gương A ta sẽ thấy ảnh phản xạ qua gương B có kích thước nhỏ hơn kích thước thật.
Nhưng ở mặt gương B đang phản xạ ảnh của gương A nên lúc mặt gương B phản xạ qua A thì ta thấy bóng của A bằng bóng của B (bóng của A nhỏ hơn bóng của gương). của B).
Quá trình này được lặp lại vô thời hạn hoặc cho tới lúc mắt người ko nhìn thấy được. Nó được gọi là hình ảnh trong hình ảnh.
Đệ quy trong C ++
Khái niệm về hàm đệ quy trong lập trình
Đệ quy là một phương thức sử dụng một hàm để gọi lại chính nó. Trong quá trình giải thuật, một hàm nhưng mà chúng ta có thể gọi lại với cùng tên hàm để tiếp tục giải dựa trên dữ liệu đã khai báo trước đó được gọi là đệ quy.
Ưu điểm và nhược điểm của hàm đệ quy
- Thuận tiện: Làm cho một công dụng phức tạp đơn giản hơn bằng cách khắc phục cho các bộ phận.
- Giới hạn: Thời kì làm bài sẽ ko được tối ưu do phải giải thêm bài. Nó thậm chí còn tốn nhiều bộ nhớ hơn nếu bạn phải chia quá nhiều lần.
Sắp xếp đệ quy
Đệ quy trực tiếp là một phương thức đệ quy sử dụng một hàm để gọi chính nó.
Đệ quy gián tiếp là một phương thức đệ quy sử dụng một lời gọi hàm X tới hàm Y nhưng hàm Y lại chứa một lệnh gọi tới chính hàm X.
Thuật toán đệ quy C ++
Các thành phần của thuật toán đệ quy
- Điều kiện cơ bản: Điều kiện thoát đệ quy.
- Phần đệ quy (Cú pháp): Phần thân hàm chứa cú pháp gọi đệ quy.
Thuật toán đệ quy C ++
Dung dịch:
Kieu_tra_ve_ten_ham(list_sach_ham_so)
{
nếu (cơ chế ăn)
trở về mức giá;
khác
trở về ten_ham(list_book_doi_so) phep_toan name_doi_so;
}
Ghi chú:
- Thông thường, các hàm có các kiểu dữ liệu trả về không giống nhau vô hiệu mới sử dụng Đệ quy (trừ trường hợp đặc thù).
- Trong vấn đề này phải có cơ chế ăn để Đệ quy kết thúc.
- Phep_toan Đây là bất kỳ vấn đề thích hợp với vấn đề của bạn.
.u93113948fd62a67c6b09a4ba1c86a5f7, .u93113948fd62a67c6b09a4ba1c86a5f7 .postImageUrl, .u93113948fd62a67c6b09a4ba1c86a5f7 .centered; text-area: 80 position: relative; } .u93113948fd62a67c6b09a4ba1c86a5f7, .u93113948fd62a67c6b09a4ba1c86a5f7: hover, .u93113948fd62a67c6b09a4ba1c86a5f7: đã truy cập! } .u93113948fd62a67c6b09a4ba1c86a5f7 .clearfix: after {content: “”; hiển thị: bảng; rõ ràng: cả hai; } .u93113948fd62a67c6b09a4ba1c86a5f7 {display: block; chuyển tiếp: nền-màu 250ms; webkit-chuyển tiếp: background-color 250ms; chiều rộng: 100%; độ mờ: 1; chuyển tiếp: độ mờ 250ms; webkit-chuyển đổi: độ mờ 250ms; màu nền: # E67E22; } .u93113948fd62a67c6b09a4ba1c86a5f7: active, .u93113948fd62a67c6b09a4ba1c86a5f7: hover {opacity: 1; chuyển tiếp: độ mờ 250ms; webkit-chuyển đổi: độ mờ 250ms; màu nền: # D35400; } .u93113948fd62a67c6b09a4ba1c86a5f7 .centered-text-area {width: 100%; chức vụ: thân nhân; } .u93113948fd62a67c6b09a4ba1c86a5f7 .ctaText {border-bottom: 0 solid #fff; màu: # ECF0F1; font-size: 16px; font-weight: bold; lề: 0; đệm: 0; text-decoration: gạch chân; } .u93113948fd62a67c6b09a4ba1c86a5f7 .postTitle {color: # 2C3E50; font-size: 16px; font-weight: 600; lề: 0; đệm: 0; chiều rộng: 100%; } .u93113948fd62a67c6b09a4ba1c86a5f7 .ctaButton {background-color: # D35400! important; màu: # ECF0F1; biên giới: ko có; bán kính đường viền: 3px; box-shadow: ko có; font-size: 14px; font-weight: bold; chiều cao dòng: 26px; moz-border-radius: 3px; text-align: center; văn bản-trang trí: ko có; text-shadow: ko có; chiều rộng: 80px; chiều cao tối thiểu: 80px; background: url (https://thcscamduong.edu.vn/wp-content/plugins/intelly-osystem-posts/assets/images/simple-arrow.png) no-repeat; vị trí: tuyệt đối; đúng: 0; đầu: 0; } .u93113948fd62a67c6b09a4ba1c86a5f7: hover .ctaButton {background-color: # E67E22! important; } .u93113948fd62a67c6b09a4ba1c86a5f7 .centered-text {display: table; chiều cao: 80px; padding-left: 18px; đầu: 0; } .u93113948fd62a67c6b09a4ba1c86a5f7 .u93113948fd62a67c6b09a4ba1c86a5f7-content {display: table-cell; lề: 0; đệm: 0; padding-right: 108px; chức vụ: thân nhân; vertical-align: giữa; chiều rộng: 100%; } .u93113948fd62a67c6b09a4ba1c86a5f7: sau {content: “”; hiển thị: khối; rõ ràng: cả hai; } Xem thêm: Góp vốn tiếng anh là gì?
Hình minh họa
ví dụ 1
Nhân vật: Tìm tổng các số chia hết cho 5 trong đoạn [0,N] với N là bất kỳ số nào.
Phân tích chủ đề: Vì các số nằm trong phạm vi [0, N] vì vậy chúng ta có thể diễn ra từ 0 và tăng lên N và trái lại. Vì các số chia hết cho 5, chúng ta có thể mở đầu chọn số 0 và mở đầu tăng nó lên 5 miễn sao số được thêm vào nhỏ hơn hoặc bằng N. Hoặc chúng ta có thể diễn ra từ số chia hết cho 5 gần bằng 5. . bằng 5. N sau đó giảm đi 5 đơn vị cho tới lúc bằng ko. Đây là đệ quy trực tiếp.
Dung dịch: Ví dụ 1 đệ quy
Ví dụ 2
Nhân vật: In ra n phần tử trước tiên của dãy Fibonacci (1 1 2 3 5 8 13 21 34 …)
Phân tích chủ đề:
- Hai yếu tố trước tiên của Trình tự Fibonacci Được chứ (1 1) là hai bộ khởi tạo.
- Từ số 2 trở đi sẽ theo công thức: Phần tử sau sẽ bằng hai phần tử liền kề trước nó được thêm vào (ví dụ: 2 = 1 + 1).
- Từ đó suy ra sức thức: n = (n – 1) + (n – 2) bằng phương pháp đệ quy gián tiếp.
Dung dịch: Ví dụ 2 đệ quy
Kỳ vọng bài viết trên sẽ giúp bạn nắm vững Hàm đệ quy để vận dụng nó trong C ++ theo cách hợp lý nhất.
Nguồn tham khảo: Wikipedia, HowKTeam
Đệ quy là gì? Cách sử dụng hàm đệ quy trong C / C ++
Hình ảnh về: Đệ quy là gì? Cách sử dụng hàm đệ quy trong C / C ++
Video về: Đệ quy là gì? Cách sử dụng hàm đệ quy trong C / C ++
Wiki về đệ quy là gì? Cách sử dụng hàm đệ quy trong C / C ++
Đệ quy là gì? Cách sử dụng hàm đệ quy trong C/C++ -
Đệ quy là một thuật ngữ ko thân thuộc trong các tiếng nói lập trình. Vì vậy Đệ quy là gì? Làm thế nào để viết thuật toán đệ quy trong C / C ++? Bài viết dưới đây sẽ giúp bạn hiểu rõ hơn về Đệ quy và các ứng dụng của nó trong C / C ++!
Đệ quy là gì?
Theo Wikipedia, Đệ quy (Đệ quy) được hiểu là lúc sự vật được xác định bởi chính nó hoặc bởi loại của nó. Đệ quy là sự lặp lại của cùng một sự vật hoặc sự kiện.
Ví dụ, bạn đặt hai gương y chang nhau đối diện nhau (gương A và gương B). Lúc soi gương A ta sẽ thấy ảnh phản xạ qua gương B có kích thước nhỏ hơn kích thước thật.
Nhưng ở mặt gương B đang phản xạ ảnh của gương A nên lúc mặt gương B phản xạ qua A thì ta thấy bóng của A bằng bóng của B (bóng của A nhỏ hơn bóng của gương). của B).
Quá trình này được lặp lại vô thời hạn hoặc cho tới lúc mắt người ko nhìn thấy được. Nó được gọi là hình ảnh trong hình ảnh.
Đệ quy trong C ++
Khái niệm về hàm đệ quy trong lập trình
Đệ quy là một phương thức sử dụng một hàm để gọi lại chính nó. Trong quá trình giải thuật, một hàm nhưng mà chúng ta có thể gọi lại với cùng tên hàm để tiếp tục giải dựa trên dữ liệu đã khai báo trước đó được gọi là đệ quy.
Ưu điểm và nhược điểm của hàm đệ quy
- Thuận tiện: Làm cho một công dụng phức tạp đơn giản hơn bằng cách khắc phục cho các bộ phận.
- Giới hạn: Thời kì làm bài sẽ ko được tối ưu do phải giải thêm bài. Nó thậm chí còn tốn nhiều bộ nhớ hơn nếu bạn phải chia quá nhiều lần.
Sắp xếp đệ quy
Đệ quy trực tiếp là một phương thức đệ quy sử dụng một hàm để gọi chính nó.
Đệ quy gián tiếp là một phương thức đệ quy sử dụng một lời gọi hàm X tới hàm Y nhưng hàm Y lại chứa một lệnh gọi tới chính hàm X.
Thuật toán đệ quy C ++
Các thành phần của thuật toán đệ quy
- Điều kiện cơ bản: Điều kiện thoát đệ quy.
- Phần đệ quy (Cú pháp): Phần thân hàm chứa cú pháp gọi đệ quy.
Thuật toán đệ quy C ++
Dung dịch:
Kieu_tra_ve_ten_ham(list_sach_ham_so)
{
nếu (cơ chế ăn)
trở về mức giá;
khác
trở về ten_ham(list_book_doi_so) phep_toan name_doi_so;
}
Ghi chú:
- Thông thường, các hàm có các kiểu dữ liệu trả về không giống nhau vô hiệu mới sử dụng Đệ quy (trừ trường hợp đặc thù).
- Trong vấn đề này phải có cơ chế ăn để Đệ quy kết thúc.
- Phep_toan Đây là bất kỳ vấn đề thích hợp với vấn đề của bạn.
Hình minh họa
ví dụ 1
Nhân vật: Tìm tổng các số chia hết cho 5 trong đoạn [0,N] với N là bất kỳ số nào.
Phân tích chủ đề: Vì các số nằm trong phạm vi [0, N] vì vậy chúng ta có thể diễn ra từ 0 và tăng lên N và trái lại. Vì các số chia hết cho 5, chúng ta có thể mở đầu chọn số 0 và mở đầu tăng nó lên 5 miễn sao số được thêm vào nhỏ hơn hoặc bằng N. Hoặc chúng ta có thể diễn ra từ số chia hết cho 5 gần bằng 5. . bằng 5. N sau đó giảm đi 5 đơn vị cho tới lúc bằng ko. Đây là đệ quy trực tiếp.
Dung dịch: Ví dụ 1 đệ quy
Ví dụ 2
Nhân vật: In ra n phần tử trước tiên của dãy Fibonacci (1 1 2 3 5 8 13 21 34 …)
Phân tích chủ đề:
- Hai yếu tố trước tiên của Trình tự Fibonacci Được chứ (1 1) là hai bộ khởi tạo.
- Từ số 2 trở đi sẽ theo công thức: Phần tử sau sẽ bằng hai phần tử liền kề trước nó được thêm vào (ví dụ: 2 = 1 + 1).
- Từ đó suy ra sức thức: n = (n – 1) + (n – 2) bằng phương pháp đệ quy gián tiếp.
Dung dịch: Ví dụ 2 đệ quy
Kỳ vọng bài viết trên sẽ giúp bạn nắm vững Hàm đệ quy để vận dụng nó trong C ++ theo cách hợp lý nhất.
Nguồn tham khảo: Wikipedia, HowKTeam
[rule_{ruleNumber}]
với N là bất kỳ số nào.
Phân tích chủ đề: Vì các số nằm trong phạm vi [0, N] vì vậy chúng ta có thể diễn ra từ 0 và tăng lên N và trái lại. Vì các số chia hết cho 5, chúng ta có thể mở đầu chọn số 0 và mở đầu tăng nó lên 5 miễn sao số được thêm vào nhỏ hơn hoặc bằng N. Hoặc chúng ta có thể diễn ra từ số chia hết cho 5 gần bằng 5. . bằng 5. N sau đó giảm đi 5 đơn vị cho tới lúc bằng ko. Đây là đệ quy trực tiếp.
Dung dịch: Ví dụ 1 đệ quy
Ví dụ 2
Nhân vật: In ra n phần tử trước tiên của dãy Fibonacci (1 1 2 3 5 8 13 21 34 …)
Phân tích chủ đề:
- Hai yếu tố trước tiên của Trình tự Fibonacci Được chứ (1 1) là hai bộ khởi tạo.
- Từ số 2 trở đi sẽ theo công thức: Phần tử sau sẽ bằng hai phần tử liền kề trước nó được thêm vào (ví dụ: 2 = 1 + 1).
- Từ đó suy ra sức thức: n = (n – 1) + (n – 2) bằng phương pháp đệ quy gián tiếp.
Dung dịch: Ví dụ 2 đệ quy
Kỳ vọng bài viết trên sẽ giúp bạn nắm vững Hàm đệ quy để vận dụng nó trong C ++ theo cách hợp lý nhất.
Nguồn tham khảo: Wikipedia, HowKTeam
# cách sử dụng # công dụng là gì # cách # cách sử dụng # công dụng # chuẩn xác # trong
Nguồn: Đệ quy là gì? Cách sử dụng hàm đệ quy trong C / C ++
Bạn thấy bài viết Đệ quy là gì? Cách sử dụng hàm đệ quy trong C/C++ có khắc phục đươc vấn đề bạn tìm hiểu ko?, nếu ko hãy comment góp ý thêm về Đệ quy là gì? Cách sử dụng hàm đệ quy trong C/C++ bên dưới để thpttranhungdao.edu.vn có thể thay đổi & cải thiện nội dung tốt hơn cho độc giả nhé! Cám ơn bạn đã ghé thăm Website Trường THPT Trần Hưng Đạo
Phân mục: Hỏi đáp
Nguồn: thpttranhungdao.edu.vn
Trả lời