Computer >> Máy Tính >  >> Lập trình >> C ++

Viết chương trình tính toán kích thước cây - Đệ quy trong C ++

Trong bài toán này, chúng ta được đưa ra một cây và nhiệm vụ của chúng ta là tạo một chương trình để tính toán kích thước của cây bằng cách sử dụng đệ quy.

Kích thước của cây là tổng số nút có trong cây.

Hãy lấy một ví dụ để hiểu vấn đề,

Viết chương trình tính toán kích thước cây - Đệ quy trong C ++


Kích thước của cây trên là 5.

Để tìm kích thước của cây, chúng ta sẽ phải cộng kích thước của cây con bên trái và cây con bên phải rồi tăng nó lên 1. Hàm đệ quy sẽ được gọi cho cả cây con bên trái và bên phải của cây. Và nếu không tìm thấy cây con nào, trả về 0.

Ví dụ trên được giải quyết bằng phương pháp này

Để tìm kích thước của cây,

size (3) =size (5) + size (7) + 1

size (3) =(size (1) + size (9) + 1) + 1 + 1

kích thước (3) =(1 + 1 + 1) + 1 + 1

kích thước (3) =5

Chương trình minh họa hoạt động của giải pháp của chúng tôi,

Ví dụ

#include <iostream>
using namespace std;
class node {
   public:
   int data;
   node* left;
   node* right;
};
node* insertNode(int data) {
   node* Node = new node();
   Node->data = data;
   Node->left = NULL;
   Node->right = NULL;
   return(Node);
}
int findSize(node* node) {
   if (node == NULL)
      return 0;
   else
      return(findSize(node->left) + 1 + findSize(node->right));
}
int main() {
   node *root = insertNode(6);
   root->left = insertNode(3);
   root->right = insertNode(7);
   root->left->left = insertNode(1);
   root->left->right = insertNode(5);
   root->right->left = insertNode(2);
   cout<<"The size of the given tree is "<<findSize(root);
   return 0;
}

Đầu ra

The size of the given tree is 6