কম্পিউটার টিউটোরিয়াল

বাইনারি ট্রি কি BST কিনা চেক করার C++ প্রোগ্রাম


বাইনারি সার্চ ট্রি হলো একটি বাইনারি ট্রি ডেটা স্ট্রাকচার যাতে ৩টি প্রপার্টি থাকে −

  • একটি নোডের বাম সাবট্রি শুধু সেটি নোডের কি থেকে ছোট কি-ওয়ালা নোড ধারণ করে।

  • একটি নোডের ডান সাবট্রি শুধু সেটি নোডের কি থেকে বড় কি-ওয়ালা নোড ধারণ করে।

  • একটি সাবট্রির বাম ও ডান ট্রি দুটোই অবশ্যই বাইনারি সার্চ ট্রি হতে হবে।

অ্যালগরিদম

শুরু    function BSTUtill()       যদি নোড NULL-এর সমান হয় তবে          ১ রিটার্ন করুন।       যদি নোডের ডেটা মিনিমাম থেকে কম বা ম্যাক্সিমাম থেকে বেশি হয় তবে          ০ রিটার্ন করুন।       বাম ও ডান সাব-ট্রি রিকার্সিভলি ট্রাভার্স করুন। শেষ।

উদাহরণ কোড

#include <iostream> #include <cstdlib> #include <climits> using namespace std; struct n {    int d;    n* l;    n* r; }; int BSTUtil(n* node, int min, int max); int isBST(n* node) {    return(BSTUtil(node, INT_MIN, INT_MAX)); } int BSTUtil(struct n* node, int min, int max) {    if (node==NULL)       return 1;    if (node->d < min || node->d > max)       return 0;       return BSTUtil(node->l, min, node->d - 1) && BSTUtil(node->r, node->d + 1, max); } n* newN(int d) {    n* nod = new n;    nod->d = d;    nod->l = NULL;    nod->r = NULL;    return nod; } int main() {    n *root = newN(7);    root->l = newN(6);    root->r = newN(10);    root->l->l = newN(2);    root->l->r = newN(4);    if (isBST(root))       cout << "দেয়া বাইনারি ট্রি একটি BST" << endl;    else       cout << "দেয়া বাইনারি ট্রি একটি BST নয়" << endl;       n *root1 = newN(10);       root1->l = newN(6);       root1->r = newN(11);       root1->l->l = newN(2);       root1->l->r = newN(7);       if (isBST(root1))          cout << "দেয়া বাইনারি ট্রি একটি BST" << endl;       else          cout << "দেয়া বাইনারি ট্রি একটি BST নয়" << endl;       return 0; }

আউটপুট

দেয়া বাইনারি ট্রি একটি BST নয় দেয়া বাইনারি ট্রি একটি BST

  1. বাইনারি সার্চ C++ প্রোগ্রামে

  2. C++-এ একটি বাইনারি ট্রি SumTree কিনা তা যাচাই করা

  3. C++-এ একটি বাইনারি ট্রি অন্য বাইনারি ট্রির সাবট্রি কিনা তা যাচাই করা

  4. পাইথনে বাইনারি ট্রি BST কিনা যাচাই করার প্রোগ্রাম