हमें बाइनरी सर्च ट्री डेटा टाइप के प्रोटोटाइप ऑब्जेक्ट पर एक JavaScript फ़ंक्शन लिखना आवश्यक है जो एक मान लेता है और ढूंढता है कि वह मान BST में समाहित है या नहीं।
उदाहरण
इसके लिए कोड होगा -
// BST के लिए एकल नोड के लिए क्लास
class Node {
constructor(value) {
this.value = value;
}
}
// BST के लिए क्लास
// नोड डालने और मौजूदा नोड खोजने के लिए फ़ंक्शन शामिल हैं
class BinarySearchTree {
constructor() {
this._root = null;
};
insert(value) {
let node = this, side = '_root';
while (node[side]) {
node = node[side];
if (value === node.value) {
return;
};
side = value < node.value ? 'left' : 'right';
};
node[side] = new Node(value);
};
contains(value) {
let current = this._root;
while (current) {
if (value === current.value) {
return true;
};
current = value < current.value ? current.left : current.right;
}
return false;
};
}
const tree = new BinarySearchTree();
for (let i = 0; i < 10; i++) {
tree.insert(Math.floor(Math.random() * 1000));
};
tree.insert(34);
console.log(tree.contains(34));
console.log(tree.contains(334));
आउटपुट
कंसोल में आउटपुट होगा -
true false