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