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

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


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

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

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

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

এটি वो অ্যালগরিদম যা আমরা বাস্তবায়ন করব:

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

আসুন দেখি আমরা আমাদের ক্লাসে কীভাবে এটি বাস্তবায়ন করব।

postOrder() {
    postOrderHelper(this.root);
}

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

উদাহরণ

function postOrderHelper(root) {
    if (root !== null) {
        postOrderHelper(root.left);
        postOrderHelper(root.right);
        console.log(root.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);
BST.postOrder();

আউটপুট

এটি নিচের আউটপুট দেবে:

3 7 5 12 50 15 10

  1. C++-এ বাইনারি ট্রি লেভেল অর্ডার ট্রাভার্সাল

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

  3. ডেটা স্ট্রাকচারে পোস্ট-অর্ডার ট্রি ট্রাভার্সাল

  4. ডেটা স্ট্রাকচারে লেভেল-অর্ডার ট্রি ট্রাভার্সাল