Software Development

Discover Mode in Binary Search tree

Discover Mode in Binary Search tree
Written by admin


#embrace <bits/stdc++.h>

utilizing namespace std;

  

struct Node {

    int information;

    struct Node *left, *proper;

};

  

struct Node* newNode(int merchandise)

{

    struct Node* temp = new Node;

    temp->information = merchandise;

    temp->left = temp->proper = NULL;

    return temp;

}

  

struct Node* insert(struct Node* node, int key)

{

  

    

    

    if (node == NULL)

        return newNode(key);

  

    

    if (key < node->information)

        node->left = insert(node->left, key);

    else if (key >= node->information)

        node->proper = insert(node->proper, key);

  

    

    

    return node;

}

  

void inorderTraversal(Node* root, vector<int>& inorder)

{

  

    

    

    if (root == NULL)

        return;

  

    

    inorderTraversal(root->left, inorder);

  

    

    inorder.push_back(root->information);

  

    

    inorderTraversal(root->proper, inorder);

}

  

vector<int> findMode(Node* root)

{

    vector<int> inorder;

  

    

    inorderTraversal(root, inorder);

    int mx = INT_MIN;

    unordered_map<int, int> mp;

  

    

    

    

    for (int i = 0; i < inorder.measurement(); i++) {

        mp[inorder[i]]++;

        mx = max(mp[inorder[i]], mx);

    }

    vector<int> res;

  

    

    

    for (auto it : mp) {

        if (it.second == mx)

            res.push_back(it.first);

    }

    return res;

}

  

int predominant()

{

  

    

                  

               

              

             

           

    struct Node* root = NULL;

  

    root = insert(root, 50);

  

    insert(root, 60);

    insert(root, 50);

    insert(root, 160);

    insert(root, 170);

    insert(root, 140);

    insert(root, 100);

  

    

    auto r = findMode(root);

  

    cout << "Mode of BST is"

         << " ";

    for (auto i : r) {

        cout << i << " ";

    }

  

    return 0;

}

About the author

admin

Leave a Comment