树中的每个元素都是一个节点。由于树由节点组成,因此在继续定义二叉树之前,需要定义一个节点。我们将创建一个具有3个属性的非常简单的节点定义,即:left,right和data。
left-保留对该节点左子节点的引用。
右-这持有对该节点的右孩子的引用。
数据-这包含对我们要存储在此节点中的数据的引用。
让我们看看这种结构的代码表示。
class Node { constructor(data, left = null, right = null) { this.data = data; this.left = left; this.right = right; } }
我们使用构造函数定义了Node数据结构,该构造函数具有3个属性,即左右数据。我们主要将创建一个左和右属性为空的节点,因为我们将在叶子上插入值。
为了易于使用,我们将Node定义为我们将要创建的BinarySearchTree类的属性,以便将该类保留在使用它的位置。
注意,二叉树需要具有2个明确的left和right属性的此类节点。对于B树或B +树之类的多路树,我们定义了一个名为children的属性,该属性是一个数组(或其他一些容器,例如数据结构)。