Computer >> Máy Tính >  >> Lập trình >> Javascript

Đặt hàng trước truyền tải trong một cây Javascript


Trong phương pháp duyệt này, nút gốc được truy cập đầu tiên, sau đó đến cây con bên trái và cuối cùng là cây con bên phải.

Đặt hàng trước truyền tải trong một cây Javascript

Chúng tôi bắt đầu từ A, và sau khi duyệt đơn đặt hàng trước, trước tiên, chúng tôi truy cập A chính nó và sau đó di chuyển đến cây con bên trái của nó B. B cũng được duyệt qua đơn đặt hàng trước. Quá trình tiếp tục cho đến khi tất cả các nút được truy cập. Đầu ra của việc duyệt đơn đặt hàng trước của cây này sẽ là -

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

Đây là thuật toán mà chúng tôi sẽ triển khai:

  • In dữ liệu của nút
  • Đi qua đệ quy bên trái một cách đệ quy
  • Đệ quy đi qua cây con bên phải

Hãy để chúng tôi xem cách chúng tôi sẽ triển khai nó trong lớp học của chúng tôi.

preOrder() {
   preOrderHelper(this.root);
}

Chức năng người trợ giúp:

Ví dụ

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

Bạn có thể kiểm tra điều này bằng cách sử dụng -

Ví dụ

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();

Đầu ra

Điều này sẽ cung cấp đầu ra -

10
5
3
7
15
12
50