কম্পিউটার

একটি প্রদত্ত বাইনারি ট্রিকে একটি ট্রিতে রূপান্তর করুন যা C++ এ লজিক্যাল এবং সম্পত্তি ধারণ করে


এই টিউটোরিয়ালে, আমরা একটি প্রদত্ত বাইনারি ট্রিকে লজিক্যাল এবং প্রপার্টি ধারণ করে এমন একটি ট্রিতে রূপান্তর করার একটি প্রোগ্রাম নিয়ে আলোচনা করব৷

এর জন্য আমাদের একটি বাইনারি গাছ দেওয়া হবে। আমাদের কাজ হল এটিকে একটি ট্রিতে রূপান্তর করা যা লজিক্যাল এবং সম্পত্তি ধারণ করে মানে একটি নোডের বাচ্চা নোডগুলির AND অপারেশনের একটি মান রয়েছে। মনে রাখবেন যে প্রতিটি নোডের একটি মান শূন্য বা এক হতে পারে।

উদাহরণ

#include<bits/stdc++.h>
using namespace std;
//node structure of binary tree
struct Node{
   int data;
   struct Node* left;
   struct Node* right;
};
//creation of a new node
struct Node* newNode(int key){
   struct Node* node = new Node;
   node->data= key;
   node->left = node->right = NULL;
   return node;
}
//converting the tree with nodes following
//logical AND operation
void transform_tree(Node *root){
   if (root == NULL)
      return;
   //moving to first left node
   transform_tree(root->left);
   //moving to first right node
   transform_tree(root->right);
   if (root->left != NULL && root->right != NULL)
      root->data = (root->left->data) &
   (root->right->data);
}
//printing the inorder traversal
void print_tree(Node* root){
   if (root == NULL)
      return;
   print_tree(root->left);
   printf("%d ", root->data);
   print_tree(root->right);
}
int main(){
   Node *root=newNode(0);
   root->left=newNode(1);
   root->right=newNode(0);
   root->left->left=newNode(0);
   root->left->right=newNode(1);
   root->right->left=newNode(1);
   root->right->right=newNode(1);
   printf("Before conversion :\n");
   print_tree(root);
   transform_tree(root);
   printf("\nAfter conversion :\n");
   print_tree(root);
   return 0;
}

আউটপুট

Before conversion :
0 1 1 0 1 0 1
After conversion :
0 0 1 0 1 1 1

  1. C++ এ সেই গাছের একটি ক্লোনের মধ্যে একটি বাইনারি ট্রির একটি সংশ্লিষ্ট নোড খুঁজুন

  2. C++ এ বাইনারি ট্রি-তে একটি নোডের প্রি-অর্ডার পূর্বসূরি

  3. C++ এ বাইনারি ট্রিতে একটি নোডের প্রি-অর্ডার উত্তরসূরি

  4. C++ এ বাইনারি ট্রিতে রুট থেকে প্রদত্ত নোডের দূরত্ব খুঁজুন