बाइनरी सर्च ट्री में, अगर हम इस गुण को देखें कि बायां चाइल्ड हमेशा पैरेंट से छोटा होता है, तो हम पाएंगे कि अगर हम बाएं चाइल्ड की ओर तब तक पुनरावृत्ति करते रहें जब तक हम बिना बाएं चाइल्ड वाले नोड पर नहीं पहुंच जाते, तो हम मूल रूप से BST में सबसे छोटा एलिमेंट ढूंढ लेंगे।
आइए इस फ़ंक्शन को अपने कोड में लागू करते हैं। अब से हम फ़ंक्शन के केवल सिंगल वर्जन लागू करेंगे, यानी, या तो इटरेटिव या रिकर्सिव। इस मामले में, हम एक इटरेटिव फ़ंक्शन बनाएंगे:
उदाहरण
getMinVal() {
if (this.root === null) {
throw "खाली ट्री!";
}
let currNode = this.root;
while (currNode.left !== null) {
currNode = currNode.left;
}
return currNode.data;
}
आप इसका परीक्षण इस तरह कर सकते हैं:
उदाहरण
let BST = new BinarySearchTree(); BST.insertRec(10); BST.insertRec(15); BST.insertRec(5); BST.insertRec(50); BST.insertRec(3); BST.insertRec(7); BST.insertRec(12); console.log(BST.getMinVal());
आउटपुट
इससे निम्न आउटपुट मिलेगा:
3
इसी तरह, आप इस कोड को getMaxVal() नामक फ़ंक्शन लिखने के लिए बढ़ा सकते हैं जो दाएं चाइल्ड वैल्यूज़ पर पुनरावृत्ति करके अधिकतम मान लौटाता है। हम यहां आपके सत्यापन के लिए बस कोड डाल देंगे:
उदाहरण
getMaxVal() {
if (this.root === null) {
throw "खाली ट्री!";
}
let currNode = this.root;
while (currNode.right !== null) {
currNode = currNode.right;
}
return currNode.data;
}