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

C++-এ বাইনারি সার্চ ট্রি (BST)-এ সর্বনিম্ন মান্যুক্ত নোড (Node) খুঁজে বের করা


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

C++-এ বাইনারি সার্চ ট্রি (BST)-এ সর্বনিম্ন মান্যুক্ত নোড (Node) খুঁজে বের করা

তবে সর্বনিম্ন উপাদান হবে ১।

যেহেতু আমরা জানি বাম সাবট্রি (left subtree) সবসময় ছোট উপাদানগুলো ধারণ করে। তাই যদি আমরা বাম সাবট্রিয়ে বারবার ট্রাভার্স করি যতক্ষণ না left NULL হয়, তবে সর্বনিম্ন উপাদান পাওয়া যাবে।

উদাহরণ

#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++-এ বাইনারি ট্রির মিনিমাম ডেপথ (Minimum Depth of Binary Tree)

  2. বাইনারি ট্রিতে নিকটতম লিফ নোড খুঁজে বের করা (C++)

  3. বাইনারি ট্রির ভার্টিকাল অর্ডার ট্রাভার্সালে k-তম নোড খুঁজে বের করা C++-তে

  4. C++-এ ট্রি-এ X-এর সাথে निरপেক্ষ পার্থক্য সর্বনিম্ন হয় এমন নোড খুঁজে বের করা