এই ট্রাভারসাল মেথডে, রুট নোডটি প্রথমে ভিজিট করা হয়, তারপর বাম সাবট্রি এবং অবশেষে ডান সাবট্রি।

আমরা A-থেকে শুরু করি, এবং প্রি-অর্ডার ট্রাভারসাল অনুসরণ করে, আমরা প্রথমে A-কেই ভিজিট করি এবং তারপর এর বাম সাবট্রি B-এ যাই। B-টিও প্রি-অর্ডার ট্রাভার্স হয়। প্রক্রিয়াটি চলতে থাকে যতক্ষণ না সব নোড ভিজিট হয়। এই ট্রির প্রি-অর্ডার ট্রাভারসালের আউটপুট হবে:
A → B → D → E → C → F → G
এটি वो অ্যালগরিদম যা আমরা বাস্তবায়ন করব:
- নোডের ডেটা প্রিন্ট করুন
- রিকারসিভলি বাম সাবট্রি ট্রাভার্স করুন
- রিকারসিভলি ডান সাবট্রি ট্রাভার্স করুন
আসুন দেখি আমরা আমাদের ক্লাসে কীভাবে এটি বাস্তবায়ন করব।
preOrder() {
preOrderHelper(this.root);
}
হেল্পার ফাংশন:
উদাহরণ
function preOrderHelper(root) {
if (root !== null) {
console.log(root.data);
preOrderHelper(root.left);
preOrderHelper(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.preOrder();
আউটপুট
এটি নিচের আউটপুট দেবে:
10 5 3 7 15 12 50