Đệ quy C ++ (Có ví dụ)

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về hàm đệ quy trong C ++ và hoạt động của nó với sự trợ giúp của các ví dụ.

Một hàm gọi chính nó được gọi là một hàm đệ quy. Và, kỹ thuật này được gọi là đệ quy.

Làm việc của đệ quy trong C ++

 void recurse() (… recurse();… ) int main() (… recurse();… )

Hình dưới đây cho thấy cách hoạt động của đệ quy bằng cách gọi đi gọi lại chính nó.

Cách đệ quy hoạt động trong lập trình C ++

Đệ quy tiếp tục cho đến khi một số điều kiện được đáp ứng.

Để ngăn chặn đệ quy vô hạn, câu lệnh if… else (hoặc cách tiếp cận tương tự) có thể được sử dụng khi một nhánh thực hiện lệnh gọi đệ quy còn nhánh kia thì không.

Ví dụ 1: Giai thừa của một số sử dụng đệ quy

 // Factorial of n = 1*2*3*… *n #include using namespace std; int factorial(int); int main() ( int n, result; cout <> n; result = factorial(n); cout << "Factorial of " << n << " = " < 1) ( return n * factorial(n - 1); ) else ( return 1; ) )

Đầu ra

 Nhập một số không âm: 4 Giai thừa của 4 = 24

Hoạt động của Chương trình Giai thừa

Cách hoạt động của chương trình đệ quy C ++ này

Như chúng ta có thể thấy, factorial()hàm đang gọi chính nó. Tuy nhiên, trong mỗi lần gọi, chúng tôi đã giảm giá trị của n đi 1. Khi n nhỏ hơn 1, factorial()hàm cuối cùng trả về đầu ra.

Ưu điểm và nhược điểm của đệ quy

Dưới đây là những ưu và nhược điểm của việc sử dụng đệ quy trong C ++.

Ưu điểm của đệ quy C ++

  • Nó làm cho mã của chúng tôi ngắn hơn và sạch hơn.
  • Đệ quy được yêu cầu trong các bài toán liên quan đến cấu trúc dữ liệu và các thuật toán nâng cao, chẳng hạn như Đồ thị và Truyền cây.

Nhược điểm của đệ quy C ++

  • Nó chiếm rất nhiều không gian ngăn xếp so với một chương trình lặp đi lặp lại.
  • Nó sử dụng nhiều thời gian xử lý hơn.
  • Nó có thể khó gỡ lỗi hơn so với một chương trình lặp lại tương đương.

thú vị bài viết...