কম্পিউটার

C++ এ বাইনারি সার্চ ট্রিতে ন্যূনতম মান সহ নোড খুঁজুন


ধরুন আমাদের একটি বাইনারি সার্চ ট্রি আছে। আমাদের বাইনারি সার্চ ট্রিতে ন্যূনতম উপাদান খুঁজে বের করতে হবে। তাই যদি BST নিচের মত হয় -

C++ এ বাইনারি সার্চ ট্রিতে ন্যূনতম মান সহ নোড খুঁজুন

সর্বনিম্ন উপাদান হবে 1.

আমরা জানি যে বাম সাবট্রি সবসময় ছোট উপাদান ধারণ করে। তাই আমরা যদি বাম সাবট্রির মধ্য দিয়ে বারবার বাম শূন্য না হওয়া পর্যন্ত অতিক্রম করি, তাহলে আমরা ক্ষুদ্রতম উপাদানটি খুঁজে পেতে পারি।

উদাহরণ

#include<iostream>
using namespace std;
class node{
   public:
      node *left;
      int val;
      node *right;
};
node *bst = NULL;
node *getNode(){
   node *newNode;
   newNode = new node;
   return newNode;
}
void insert(node **root, int key){
   node *newNode;
   newNode = getNode();
   newNode->val = key; newNode->left = NULL; newNode->right = NULL;
   if(*root == NULL){
      *root = newNode;
      return;
   } else {
      if(key < (*root)->val)
      insert(&((*root)->left), key);
   else
      insert(&((*root)->right), key);
   }
}
int minElement(){
   node* current = bst;
   while (current->left != NULL) {
      current = current->left;
   }
   return(current->val);
}
main(){
   int item[] = {3, 2, 1, 6, 5, 8};
   int n = sizeof(item)/sizeof(item[0]);
   int i;
   for(i = 0; i<8; i++){
      insert(&bst, item[i]);
   }
   cout << "Minimum element is: " << minElement();
}

আউটপুট

Minimum element is: 1

  1. C++ এ বাইনারি ট্রির ন্যূনতম গভীরতা

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

  3. C++ এ একটি বাইনারি ট্রির উল্লম্ব ক্রমে ট্রাভার্সালে kth নোড খুঁজুন

  4. নোড খুঁজুন যার পরম পার্থক্য X-এর সাথে C++ এ সর্বোচ্চ মান দেয়