কম্পিউটার

C++ এ ডিলিট কীওয়ার্ড ব্যবহার করে একটি বাইনারি ট্রি মুছে ফেলছেন?


আসুন প্রথমে int ডেটা, btree_node * rightChild, btree_node * leftChild সহ একটি ক্লাস ব্যবহার করে আমাদের বাইনারি ট্রি সংজ্ঞায়িত করি। LeftChild এবং rightChild হল btree_node-এর নির্দেশক। আমাদের ক্লাসের সকল সদস্য সর্বজনীন।

class btree_node {
   public:
      int data;
      btree_node* leftChild;
      btree_node* rightChild;

একটি নতুন নোড তৈরি করার জন্য আমাদের কাছে কনস্ট্রাক্টর ফাংশন রয়েছে যা int মানটিকে প্যারামিটার হিসাবে নেয় যাতে এটি নতুন তৈরি নোডের মান নির্ধারণ করে। LeftChild এবং rightChild null এ সেট করা হয়েছে।

btree_node(int data){
   this->data = data;
   this->leftChild = NULL;
   this-> = NULL;
}

ক্লাস ডিকনস্ট্রাক্টর যখন আহ্বান করা হয় তখন ডিলিট কীওয়ার্ড ব্যবহার করে বাইনারি গাছের বাম এবং ডান শিশু মুছে দেয়।

~btree_node(){
   delete leftChild;
   delete rightChild;
   cout << this->data << "is being deleted"<<endl;
}

ট্রি মুছে ফেলার ট্রিগার করতে আমরা রুট নোডে ডিলিট বলি কারণ এর বাম এবং ডান সাবট্রি বরাবর মুছে ফেলা হবে।

delete root;

উদাহরণ

ডিলিট কীওয়ার্ড −

ব্যবহার করে বাইনারি ট্রি মুছে ফেলার জন্য নিচের বাস্তবায়ন দেখি
#include <iostream>
using namespace std;
class btree_node {
   public:
   int data;
   btree_node* leftChild;
   btree_node* rightChild;
   btree_node(int data){
      this->data = data;
      this->leftChild = NULL;
      this->rightChild = NULL;
   }
   ~btree_node(){
      delete leftChild;
      delete rightChild;
      cout << this->data << " is being deleted"<<endl;
   }
};
int main(){
   btree_node* root = new btree_node(2);
   btree_node* node1 = new btree_node(4);
   btree_node* node2 = new btree_node(6);
   btree_node* node3 = new btree_node(8);
   btree_node* node4 = new btree_node(10);
   root->leftChild = node1;
   root->rightChild = node2;
   node1->leftChild = node3;
   node1->rightChild = node4;
   delete root;
   return 0;
}

আউটপুট

উপরের কোডটি নিম্নলিখিত আউটপুট −

তৈরি করবে
8 is being deleted
10 is being deleted
4 is being deleted
6 is being deleted
2 is being deleted

  1. C++ এ RMQ ব্যবহার করে বাইনারি ট্রিতে LCA খুঁজুন

  2. C++ এ বাইনারি ট্রি প্রিন্ট করুন

  3. C++ এ বাইনারি ট্রি প্রুনিং

  4. C++ এ একটি বাইনারি গাছের নিকটতম পাতাটি খুঁজুন