কম্পিউটার

C++ এ বাইনারি সার্চ ট্রির সমস্ত জোড় নোড প্রিন্ট করুন


এই সমস্যায়, আমাদের একটি বাইনারি সার্চ ট্রি দেওয়া হয়েছে। আমাদের কাজ হল বাইনারি সার্চ ট্রির সমস্ত এমনকি মূল্যবান নোড প্রিন্ট করা।

বাইনারী অনুসন্ধান গাছ একটি বাইনারি গাছ যা নিম্নলিখিত শর্ত অনুসরণ করে -

  • বাম সাব-ট্রিতে সবসময় প্যারেন্ট নোডের চেয়ে ছোট মানের নোড থাকে।

  • ঠিক আছে, সাব-ট্রিতে সবসময় প্যারেন্ট নোডের চেয়ে বেশি মানের নোড থাকে।

  • সমস্ত নোডকে উপরের 2টি নিয়ম অনুসরণ করতে হবে৷

একটি বাইনারি অনুসন্ধান গাছের উদাহরণ -

C++ এ বাইনারি সার্চ ট্রির সমস্ত জোড় নোড প্রিন্ট করুন

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক -

C++ এ বাইনারি সার্চ ট্রির সমস্ত জোড় নোড প্রিন্ট করুন

আউটপুট − 2 4 6 8

এই সমস্যাটি সমাধান করার জন্য, আমাদের বাইনারি অনুসন্ধান গাছের সমস্ত নোড অতিক্রম করতে হবে এবং বর্তমান নোডের মান পরীক্ষা করতে হবে। যদি তাও হয় তবে নোড প্রিন্ট করুন অন্যথায় এটি ছেড়ে দিন।

উদাহরণ

নীচের কোডটি আমাদের যুক্তিবিদ্যার কাজকে ব্যাখ্যা করবে −

#include <iostream>
using namespace std;
struct Node {
   int key;
   struct Node *left, *right;
};
Node* newNode(int item){
   Node* temp = new Node;
   temp->key = item;
   temp->left = temp->right = NULL;
   return temp;
}
Node* insertNode(Node* node, int key){
   if (node == NULL)
      return newNode(key);
   if (key < node->key)
      node->left = insertNode(node->left, key);
   else
      node->right = insertNode(node->right, key);
   return node;
}
void printEvenNode(Node* root){
   if (root != NULL) {
      printEvenNode(root->left);
      if (root->key % 2 == 0)
         cout<<root->key<<"\t";
      printEvenNode(root->right);
   }
}
int main(){
   Node* root = NULL;
   root = insertNode(root, 54);
   root = insertNode(root, 43);
   root = insertNode(root, 12);
   root = insertNode(root, 30);
   root = insertNode(root, 89);
   root = insertNode(root, 67);
   root = insertNode(root, 80);
   cout<<"All even nodes of the tree are :\n";
   printEvenNode(root);
   return 0;
}

আউটপুট

গাছের সমস্ত জোড় নোড হল −

12 30 54 80

  1. C++-এ K পাতা সহ একটি বাইনারি ট্রিতে সমস্ত নোড প্রিন্ট করুন

  2. C++ এ বাইনারি সার্চ ট্রির সমস্ত বিজোড় নোড প্রিন্ট করুন

  3. C++ এ বাইনারি ট্রি থেকে বাইনারি সার্চ ট্রি কনভার্সন

  4. C++ প্রোগ্রামিং-এ একটি বাইনারি ট্রিতে সমস্ত নোডের লেভেল প্রিন্ট করুন।