কম্পিউটার

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


এই ট্রাভার্সাল পদ্ধতিতে, প্রথমে বাম সাবট্রি, তারপর রুট এবং পরে ডান সাব-ট্রি পরিদর্শন করা হয়। আমাদের সর্বদা মনে রাখা উচিত যে প্রতিটি নোড একটি সাবট্রিকে প্রতিনিধিত্ব করতে পারে।

যদি একটি বাইনারি ট্রি ক্রমানুসারে অতিক্রম করা হয় , আউটপুট ক্রমবর্ধমান ক্রমানুসারে বাছাই করা কী মান তৈরি করবে।

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

আমরা A, থেকে শুরু করি এবং ইন-অর্ডার ট্রাভার্সাল অনুসরণ করে, আমরা এর বাম সাবট্রি B-তে চলে যাই। বি এছাড়াও ক্রমানুসারে অতিক্রম করা হয়. সমস্ত নোড পরিদর্শন না হওয়া পর্যন্ত প্রক্রিয়াটি চলতে থাকে। এই গাছের ইনঅর্ডার ট্রাভার্সালের আউটপুট হবে −

D → B → E → A → F → C → G

এটি হল অ্যালগরিদম যা আমরা বাস্তবায়ন করব −

  • পুনরাবৃত্তভাবে বাম সাবট্রি অতিক্রম করুন
  • নোডের ডেটা প্রিন্ট করুন
  • পুনরাবৃত্তভাবে ডান সাবট্রি অতিক্রম করুন

আসুন আমরা আমাদের ক্লাসে এটি কীভাবে প্রয়োগ করব তা দেখি। যেহেতু আমরা চাই না যে ব্যবহারকারীরা নিজেরাই রুট পাস করুক আমরা আবার ক্লাসের বাইরে একটি সহায়ক ফাংশন তৈরি করতে যাচ্ছি।

inOrder() {
inOrderHelper(this.root);
}

হেল্পার ফাংশন -

উদাহরণ

function inOrderHelper(root) {
   if (root !== null) {
      inOrderHelper(root.left);
      console.log(root.data);
      inOrderHelper(root.right);
   }
}

আপনি −

ব্যবহার করে এটি পরীক্ষা করতে পারেন

উদাহরণ

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);
BST.inOrder();

আউটপুট

এটি −

আউটপুট দেবে
3
5
7
10
12
15
50

নোট করুন যে উপাদানগুলি একটি সাজানো ক্রমে মুদ্রিত হয়েছিল। এর কারণ হল যেহেতু আমরা বাম সাবট্রিকে পুনরাবৃত্তভাবে প্রথমে অন্বেষণ করি, আমরা প্রথমে ছোট মানগুলি পাই। এটি শেষ পর্যন্ত চলতে থাকে এবং আমরা একটি সাজানো ক্রমে সমস্ত উপাদান পাই৷


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

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

  3. জাভাস্ক্রিপ্টে গাছে বস্তুর সমতল অ্যারে

  4. C++ এ BST কে গ্রেটার ট্রিতে রূপান্তর করুন