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.
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