Mỗi phần tử trong một cây là một node. Cần định nghĩa node trước khi định nghĩa binary tree vì cây bao gồm các node. Chúng ta sẽ tạo định nghĩa node đơn giản với 3 thuộc tính: left, right và data.
left - Chứa tham chiếu đến con trái của node này.
right - Chứa tham chiếu đến con phải của node này.
data - Chứa tham chiếu đến dữ liệu muốn lưu trong node này.
Hãy xem biểu diễn code của cấu trúc này.
Ví dụ
class Node {
constructor(data, left = null, right = null) {
this.data = data;
this.left = left;
this.right = right;
}
}
Chúng ta đã định nghĩa cấu trúc dữ liệu Node với constructor nhận 3 thuộc tính: data, left, right. Chúng ta chủ yếu chỉ tạo node với left và right là null vì sẽ chèn giá trị tại các lá.
Để tiện sử dụng, chúng ta sẽ định nghĩa Node như một thuộc tính của class BinarySearchTree sẽ tạo nhằm giữ class này trong nơi sử dụng nó.
Lưu ý rằng các node có 2 thuộc tính left và right tường minh này cần thiết cho binary tree. Đối với cây đa đường như B-tree hoặc B+ tree, ta định nghĩa thuộc tính children là một mảng (hoặc cấu trúc chứa dữ liệu khác).