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

C++-এ বাইনারি সার্চ ট্রি (BST) - সার্চ এবং ইন্সার্শন অপারেশন

BST-এ সার্চ এবং ইন্সার্শন অপারেশন।

সার্চ অপারেশন
  • রুটের সাথে কী কমপেয়ার করুন।
  • সমান হলে পাওয়া গেল।
  • কী বড় হলে রাইট সাবট্রি, ছোট হলে লেফট সাবট্রিতে রিকার্সিভ সার্চ।
ইন্সার্শন অপারেশন
  • রুট থেকে শুরু করে কী কমপেয়ার করুন।
  • উপযুক্ত লিফ পজিশন পাওয়া পর্যন্ত ট্রাভার্স করুন।
  • নতুন নোড তৈরি করে লিংক করুন।
উদাহরণ কোড (সার্চ + ইন্সার্শন)
#include <stdio.h>
#include <stdlib.h>

struct node {
    int key;
    struct node *left, *right;
};

struct node* newNode(int item) {
    struct node* temp = (struct node*)malloc(sizeof(struct node));
    temp->key = item;
    temp->left = temp->right = NULL;
    return temp;
}

void traversetree(struct node* root) {
    if (root != NULL) {
        traversetree(root->left);
        printf("%d \t", root->key);
        traversetree(root->right);
    }
}

struct node* search(struct node* root, int key) {
    if (root == NULL || root->key == key) return root;
    if (root->key < key) return search(root->right, key);
    return search(root->left, key);
}

struct node* insert(struct node* node, int key) {
    if (node == NULL) return newNode(key);
    if (key < node->key) node->left = insert(node->left, key);
    else if (key > node->key) node->right = insert(node->right, key);
    return node;
}

int main() {
    struct node* root = NULL;
    root = insert(root, 23);
    insert(root, 15);
    insert(root, 12);
    insert(root, 17);
    insert(root, 32);
    insert(root, 29);
    insert(root, 45);
    printf("The tree is :\n");
    traversetree(root);
    printf("\nSearching for 12 in this tree ");
    if (search(root, 12)) printf("\nelement found");
    else printf("\nelement not found");
    return 0;
}
আউটপুট
The tree is :
12 15 17 23 29 32 45
Searching for 12 in this tree
element found
  1. C++-এ Binary Search Tree-এ নোড ইনসার্ট করা

  2. C++-এ বাইনারি সার্চ ট্রি ইটারেটর (Binary Search Tree Iterator)

  3. C++-এ বাইনারি ট্রি থেকে বাইনারি সার্চ ট্রি (BST) কনভার্ট করুন

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