কম্পিউটার

একটি বাইনারি গাছ বিএসটি কিনা তা পরীক্ষা করার জন্য একটি প্রোগ্রাম সি তে?


একটি বাইনারি ট্রি হল একটি ট্রি ডেটা স্ট্রাকচার যাতে প্রতিটি নোডের জন্য দুটি চাইল্ড নোড থাকে। চাইল্ড নোড দুটিকে বাম এবং ডান শিশু হিসাবে উল্লেখ করা হয়।

BST হল একটি গাছের কাঠামো যেখানে বাম সাবট্রিতে মূলের চেয়ে কম মান সহ নোড থাকে এবং ডান সাবট্রিতে মূলের চেয়ে বেশি মানের নোড থাকে।

এখানে, আমরা একটি বাইনারি ট্রি একটি BST না −

তা পরীক্ষা করব

এটি পরীক্ষা করার জন্য আমাদের বাইনারি গাছের BST শর্ত পরীক্ষা করতে হবে। রুট নোড চেক করার জন্য বাম শিশুর জন্য রুট কম হওয়া উচিত, ডান শিশুটি সেই গাছের সমস্ত নোডের মূলের চেয়ে বড় হওয়া উচিত যেখানে শিশুটি বিদ্যমান।

একটি বাইনারি গাছ একটি BST কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

#include<bits/stdc++.h>
#include<iostream>
using namespace std;
class node {
   public:
      int data;
   node* left;
   node* right;
   node(int data) {
      this->data = data;
      this->left = NULL;
      this->right = NULL;
   }
};
int isBSTUtil(node* node, int min, int max);
int isBST(node* node) {
   return(isBSTUtil(node, INT_MIN, INT_MAX));
}
int isBSTUtil(node* node, int min, int max) {
   if (node==NULL)
      return 1;
   if (node->data < min || node->data > max)
      return 0;
   return
      isBSTUtil(node->left, min, node->data-1) && isBSTUtil(node->right, node->data+1, max);
}
int main() {
   node *root = new node(8);
   root->left = new node(3);
   root->right = new node(10);
   root->left->left = new node(1);
   root->left->right = new node(6);
   if(isBST(root))
      cout<<"The given tree is a BST";
   else
      cout<<"The given tree is Not a BST";
   return 0;
}

আউটপুট

The given tree is a BST

কোড ব্যাখ্যা করা হয়েছে

একটি BST জন্য উপরের কোড চেক. প্রধান পদ্ধতি, একটি ট্রি তৈরি করে এবং isBST() পদ্ধতিতে কল করে। এই পদ্ধতিটি পরীক্ষা করে যে বাম এবং ডান শিশু বিএসটি নিয়ম অনুসরণ করে কিনা তাও isBSTuntil() পদ্ধতি ব্যবহার করে গঠিত সাবট্রিগুলিও BST-এর।


  1. একটি বাইনারি ট্রি স্তর অনুসারে বাছাই করা হয়েছে কিনা তা পরীক্ষা করুন C++ এ

  2. পাইথনের একটি প্রদত্ত বাইনারি গাছে একটি BST উপস্থিত আছে কিনা তা খুঁজে বের করার জন্য প্রোগ্রাম

  3. পাইথনে একটি বাইনারি ট্রি বিএসটি কি না তা পরীক্ষা করার জন্য প্রোগ্রাম

  4. পাইথনে একটি বাইনারি গাছ সম্পূর্ণ কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম