কম্পিউটার

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


এই টিউটোরিয়ালে, আমরা শিখব কিভাবে ডিলিট কীওয়ার্ড ব্যবহার করে বাইনারি ট্রি মুছে ফেলতে হয়।

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

ডেস্ট্রক্টর সদস্য ফাংশনটির নাম টিল্ড (~) সহ একটি শ্রেণী হিসাবে রয়েছে এর আগে।

আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷

  • নোড নামে একটি ক্লাস লিখুন।

  • একটি কনস্ট্রাক্টর ফাংশন লিখুন যা নোডের জন্য ডেটা গ্রহণ করে।

  • একটি ধ্বংসকারী ফাংশন লিখুন।

    • বাম নোড মুছুন।

    • ডান নোড মুছুন।

    • বর্তমান নোড ডেটা প্রিন্ট করুন।

  • ডামি ডেটা দিয়ে বাইনারি ট্রি শুরু করুন।

  • ডিলিট রুট ব্যবহার করে বাইনারি ট্রেস মুছুন বিবৃতি।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
class Node {
   public:
   int data;
   Node* left;
   Node* right;
   // constructor
   Node(int data) {
      this->data = data;
      this->left = NULL;
      this->right = NULL;
   }
   // destructor
   ~Node() {
      // deleting the left and right pointers
      delete left;
      delete right;
      // printing node data
      cout << "Deleted node with data " << this->data << endl;
   }
};
int main() {
   Node* root = new Node(1);
   root->left = new Node(2);
   root->right = new Node(3);
   root->left->left = new Node(4);
   root->left->right = new Node(5);
   root->right->left = new Node(6);
   root->right->right = new Node(7);
   // deleting the entire tree using destructure function
   delete root;
   return 0;
}

আউটপুট

আপনি যদি উপরের প্রোগ্রামটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

Deleted node with data 4
Deleted node with data 5
Deleted node with data 2
Deleted node with data 6
Deleted node with data 7
Deleted node with data 3
Deleted node with data 1

উপসংহার

টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।


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

  2. C++ ব্যবহার করে একটি গাছের বিজোড় স্তরে নোডগুলি প্রিন্ট করার জন্য প্রোগ্রাম

  3. পাইথন ব্যবহার করে একটি বাইনারি গাছের মূল পরিবর্তন করার জন্য প্রোগ্রাম

  4. পাইথন ব্যবহার করে বাইনারি ট্রিতে ডানদিকে নোড খুঁজে বের করার জন্য প্রোগ্রাম