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

C++-এ বাইনারি সার্চ ট্রির সব জোড় নোড প্রিন্ট করা

এই সমস্যায় একটি বাইনারি সার্চ ট্রি দেওয়া আছে। আমাদের বাইনারি সার্চ ট্রির সব জোড় মান যুক্ত নোড প্রিন্ট করতে হবে।

বাইনারি সার্চ ট্রি হলো একটি বাইনারি ট্রি যা নিচের শর্তগুলো মেনে চলে:

  • বাম সাব-ট্রি সবসময় পেরেন্ট নোড থেকে ছোট মান ধারণ করে।
  • ডান সাব-ট্রি সবসময় পেরেন্ট নোড থেকে বড় মান ধারণ করে।
  • সব নোডকে উপরের ২টি নিয়ম মানতে হবে।

উদাহরণ

C++-এ বাইনারি সার্চ ট্রির সব জোড় নোড প্রিন্ট করা

আউটপুট - 2 4 6 8

এই সমস্যাটি সমাধানের জন্য বাইনারি সার্চ ট্রির সব নোড ট্রাভার্স করতে হবে এবং বর্তমান নোডের মান চেক করতে হবে। যদি জোড় হয় তবে নোডটি প্রিন্ট করা হবে অন্যথায় চলে যাওয়া হবে।

বাস্তবায়ন

#include <iostream> 
using namespace std; 

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

Node* newNode(int item) { 
    Node* temp = new Node; 
    temp->key = item; 
    temp->left = temp->right = NULL; 
    return temp; 
} 

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

void printEvenNode(Node* root) { 
    if (root != NULL) { 
        printEvenNode(root->left); 
        if (root->key % 2 == 0) 
            cout << root->key << "\t"; 
        printEvenNode(root->right); 
    } 
} 

int main() { 
    Node* root = NULL; 
    root = insertNode(root, 54); 
    root = insertNode(root, 43); 
    root = insertNode(root, 12); 
    root = insertNode(root, 30); 
    root = insertNode(root, 89); 
    root = insertNode(root, 67); 
    root = insertNode(root, 80); 
    cout << "All even nodes of the tree are :\n"; 
    printEvenNode(root); 
    return 0; 
}

আউটপুট

All even nodes of the tree are :
12 30 54 80
  1. C++-এ বাইনারি ট্রিতে K লিফ বিশিষ্ট সব নোড প্রিন্ট করা

  2. C++-এ বাইনারি সার্চ ট্রির সব বিজোড় নোড প্রিন্ট করা

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

  4. C++ প্রোগ্রামিং-এ বাইনারি ট্রির সব নোডের লেভেল প্রিন্ট করা