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

การสั่งซื้อล่วงหน้าใน Javascript Tree


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

การสั่งซื้อล่วงหน้าใน Javascript Tree

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