एक बाइनरी सर्च ट्री में, यदि हम संपत्ति को देखते हैं कि बायां बच्चा हमेशा माता-पिता से छोटा होता है, तो हम पाएंगे कि यदि हम बाएं बच्चे की ओर तब तक पुनरावृति करते रहते हैं जब तक हम एक तक नहीं पहुंच जाते नोड में कोई बायां बच्चा नहीं है, हम मूल रूप से BST में सबसे छोटा तत्व पाएंगे।
आइए इस फ़ंक्शन को हमारे कोड में लागू करें। अब से हम फ़ंक्शन के केवल एक संस्करण को लागू करेंगे, यानी, या तो पुनरावृत्त या पुनरावर्ती। इस मामले में, हम एक पुनरावृत्त फ़ंक्शन बनाएंगे -
उदाहरण
getMinVal() { if (this.root === null) { throw "Empty tree!"; } 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 "Empty tree!"; } let currNode = this.root; while (currNode.right !== null) { currNode = currNode.right; } return currNode.data; }