কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে বাইনারি সার্চ ট্রিতে ন্যূনতম অ্যাবসোলিউট ডিফারেন্স খুঁজে বের করা


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি BST-এর রুট নেবে যেটিতে কিছু সংখ্যাসূচক ডেটা থাকে।

ফাংশনটি ট্রির যেকোনো দুটি নোডের মাঝপথের ন্যূনতম অ্যাবসোলিউট ডিফারেন্স রিটার্ন করবে।

উদাহরণ:

উপরের ট্রির জন্য আউটপুট হবে:

const output = 1;

কারণ |1 - 2| = |3 - 2| = 1

উদাহরণ

কোডটি নিচের মতো:

class Node{ constructor(data) { this.data = data; this.left = null; this.right = null; }; }; class BinarySearchTree{ constructor(){ this.root = null; } insert(data){ var newNode = new Node(data); if(this.root === null){ this.root = newNode; }else{ this.insertNode(this.root, newNode); }; }; insertNode(node, newNode){ if(newNode.data < node.data){ if(node.left === null){ node.left = newNode; }else{ this.insertNode(node.left, newNode); }; } else { if(node.right === null){ node.right = newNode; }else{ this.insertNode(node.right,newNode); }; }; }; }; const BST = new BinarySearchTree(); BST.insert(1); BST.insert(3); BST.insert(2); const getMinimumDifference = function(root) { const nodes = []; const dfs = (root) => { if(root) { dfs(root.left); nodes.push(root.data); dfs(root.right); }; }; dfs(root); let result = nodes[1] - nodes[0]; for(let i = 1; i < nodes.length - 1; i++) { result = Math.min(result, nodes[i + 1] - nodes[i]); }; return result; }; console.log(getMinimumDifference(BST.root));

আউটপুট

কনসোলে আউটপুট:

1

  1. জাভাস্ক্রিপ্টে বাইনারি ট্রি

  2. জাভাস্ক্রিপ্ট ট্রিতে পোস্ট-অর্ডার ট্রাভারসাল

  3. পাইথনে বাইনারি সার্চ ট্রিতে লোয়েস্ট কমন আনসেসটর

  4. পাইথনে সোর্টেড অ্যারে থেকে বাইনারি সার্চ ট্রি (Convert Sorted Array to BST)