কম্পিউটার

জাভাস্ক্রিপ্টে বাইনারি সার্চ ট্রিতে মোড খোঁজা


মোড:

ডেটার সেটের মোড হল সেই সংখ্যা যা সেই ডেটার সেটে বেশিরভাগ বার ঘটে। উদাহরণস্বরূপ, 3 হল ডেটাসেটের মোড 2, 3, 1, 3, 4, 2, 3, 1 কারণ এটি বেশিরভাগ সময়ে ঘটে।

বাইনারী সার্চ ট্রি

একটি ট্রি ডিএস হল একটি বৈধ বাইনারি সার্চ ট্রি যদি এটি নিম্নলিখিত শর্তগুলি পূরণ করে -

  • একটি নোডের বাম সাবট্রিতে নোডের কী-এর চেয়ে কম বা সমান কীগুলির সাথে শুধুমাত্র নোড থাকে৷

  • একটি নোডের ডান সাবট্রিতে নোডের কী-এর চেয়ে বড় বা সমান কী সহ শুধুমাত্র নোড থাকে৷

  • বাম এবং ডান উপবৃক্ষ উভয়ই অবশ্যই বাইনারি অনুসন্ধান গাছ হতে হবে।

সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি BST রুটকে একমাত্র যুক্তি হিসাবে গ্রহণ করে। BST বা সম্ভবত ডুপ্লিকেট থাকতে পারে। ট্রি দ্বারা সংরক্ষিত ডেটার মোড খুঁজে বের করে ফেরত দিতে হবে।

উদাহরণ

এর জন্য কোড হবে −

<প্রি>ক্লাস নোড{ কনস্ট্রাক্টর(ডেটা) { this.data =ডেটা; this.left =null; this.right =null; };};ক্লাস 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 { if (hash[node.data]) { hash[node.data] +=1; max =Math.max(max, hash[node.data]); } অন্য { হ্যাশ[নোড.ডাটা] =1; }; node.left &&traverse(node.left); node.right &&traverse(node.right); }; if(root){ traverse(root); }; for(হ্যাশে কনস্ট কী) { হ্যাশ[কী] ===সর্বোচ্চ &&ফলাফল. পুশ(কী); }; রিটার্ন +ফলাফল[0];};console.log(findMode(BST.root));

আউটপুট

এবং কনসোলে আউটপুট হবে −

3

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

  2. সর্বোত্তম বাইনারি অনুসন্ধান গাছ

  3. C++ এ বাইনারি সার্চ ট্রি পুনরুদ্ধার করুন

  4. C++ এ বাইনারি ট্রি থেকে বাইনারি সার্চ ট্রি কনভার্সন