เราจำเป็นต้องเขียนฟังก์ชัน JavaScript บนออบเจ็กต์ต้นแบบของประเภทข้อมูล BinarySearchTree ที่รับค่าและค้นหาว่าค่านั้นมีอยู่ใน BST หรือไม่
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น -
// class for a single Node for BST class Node { constructor(value) { this.value = value; } } // class for BST // contains function to insert node and search for existing nodes 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