কম্পিউটার

C++ এ একটি বাইনারি ট্রিতে সমস্ত পূর্ণ নোড প্রিন্ট করুন


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

বাইনারী গাছ একটি গাছ যেখানে একটি নোডে সর্বাধিক 2টি চাইল্ড নোড থাকতে পারে। নোড বা শীর্ষবিন্দুতে কোনো নোড থাকতে পারে না, একটি চাইল্ড বা দুটি চাইল্ড নোড।

উদাহরণ

C++ এ একটি বাইনারি ট্রিতে সমস্ত পূর্ণ নোড প্রিন্ট করুন

একটি সম্পূর্ণ নোড একটি নোড যেটির বাম এবং ডান শিশু উভয়ই উপলব্ধ। অন্য কথায়, বাম এবং ডান শিশু সহ একটি নোড একটি পূর্ণ নোড। উপরের বাইনারি ট্রিতে, 4 এবং 9 সম্পূর্ণ নোড।

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

C++ এ একটি বাইনারি ট্রিতে সমস্ত পূর্ণ নোড প্রিন্ট করুন

আউটপুট − 4 9

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

উদাহরণ

আমাদের সমাধান চিত্রিত করার জন্য প্রোগ্রাম,

#include <iostream>
using namespace std;
struct Node{
   int data;
   struct Node *left, *right;
};
Node *insertNode(int data){
   Node *temp = new Node;
   temp->data = data;
   temp->left = temp->right = NULL;
   return temp;
}
void printFullNode(Node *root){
   if (root != NULL){
      printFullNode(root->left);
      if (root->left != NULL && root->right != NULL)
         cout<<root->data<<"\t";
      printFullNode(root->right);
   }
}
int main(){
   Node* root = insertNode(100);
   root->left = insertNode(56);
   root->right = insertNode(12);
   root->left->left = insertNode(89);
   root->right->left = insertNode(32);
   root->right->right = insertNode(45);
   cout<<"All full nodes of the tree are :\n";
   printFullNode(root);
   return 0;
}

আউটপুট

All full nodes of the tree are −
100 12

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

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

  3. বাইনারি গাছের নোডগুলি প্রিন্ট করুন যেহেতু তারা C++ প্রোগ্রামিং-এ লিফ নোড হয়ে যায়।

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