Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Duyệt pre-order trong Tree JavaScript


Trong phương thức duyệt này, nút gốc được ghé thăm trước, sau đó cây con trái và cuối cùng cây con phải.

Duyệt pre-order trong Tree JavaScript

Bắt đầu từ A, theo pre-order, ta trước ghé thăm A chính nó rồi chuyển sang cây con trái B. B cũng được duyệt pre-order. Quá trình tiếp tục cho đến khi tất cả nút được ghé thăm. Kết quả pre-order của cây này sẽ là:

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

Đây là thuật toán sẽ triển khai:

  • In dữ liệu của nút
  • Đệ quy duyệt cây con trái
  • Đệ quy duyệt cây con phải

Hãy xem cách triển khai trong class:

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

Hàm helper:

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 bằng cách sau:

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

Kết quả

Điều này sẽ cho ra kết quả:

10 5 3 7 15 12 50