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

জাভাস্ক্রিপ্ট বাইনারি সার্চ ট্রিতে ন্যূনতম এবং সর্বোচ্চ মান অনুসন্ধান


একটি বাইনারি সার্চ ট্রিতে, যদি আমরা দেখি যে বাম চাইল্ডটি সর্বদা প্যারেন্ট থেকে ছোট, তবে আমরা বুঝতে পারি যে যদি আমরা বাম চাইল্ডের দিকে চলে যাই যতক্ষণ না একটি নোড পাওয়া যায় যার কোনো বাম চাইল্ড নেই, তবে আমরা বিনিএসটির সবচেয়ে ছোট উপাদানটি পেয়ে যাব।

আসুন এই ফাংশনটি আমাদের কোডে বাস্তবায়ন করি। এখন থেকে আমরা ফাংশনের একক ভার্সন বাস্তবায়ন করব, অর্থাৎ, είটার ইটেরেটিভ অথবা রিকারসিভ। এই কেসে, আমরা একটি ইটেরেটিভ ফাংশন তৈরি করব:

উদাহরণ

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;
}

  1. জাভাস্ক্রিপ্ট ট্রিতে ইন-অর্ডার ট্রাভারসাল

  2. CSS এবং JavaScript ব্যবহার করে ড্রপডাউন মেনুতে সার্চ/ফিল্টার করার পদ্ধতি

  3. C++-এ বাইনারি ট্রিতে সর্বোচ্চ ও ন্যূনতম মান বের করুন

  4. C++-এ বাইনারি ট্রিতে সর্বোচ্চ যোগফলবিশিষ্ট BST নির্ণয়