Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

Post-order Traversal ใน Javascript Tree


ในวิธีการข้ามผ่านนี้ โหนดรูทจะถูกเข้าชมครั้งสุดท้าย จึงเป็นที่มาของชื่อ อันดับแรก เราสำรวจทรีย่อยด้านซ้าย จากนั้นไปยังทรีย่อยด้านขวา และสุดท้ายไปยังโหนดรูท

Post-order Traversal ใน Javascript Tree

เราเริ่มจาก A และหลังจากผ่านการสั่งซื้อ เราจะไปที่ทรีย่อยด้านซ้ายก่อน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