1.二叉树
二叉树是一种递归数据结构,其中每个节点最多可以有 2 个子节点。
二叉树的一种常见类型是二叉搜索树,其中每个节点的值都大于或等于左子树中的节点值,并且小于或等于右子树中的节点值树。
这是这种二叉树的直观表示:
对于实现,我们将使用一个辅助Node类来存储int值,并保留对每个孩子的引用:
class Node {
int value;
Node left;
Node right;
Node(int value) {
this.value = value;
right = null;
left = null;
}
}
然后我们将添加树的起始节点,通常称为根:
public class BinaryTree {
Node root;
// ...
}
2.常用操作
现在让我们看看我们可以在二叉树上执行的最常见的操作。
(1)插入元素
我们要介绍的第一个操作是插入新节点。
首先,我们必须找到要添加新节点的位置,以保持树的排序。我们将从根节点开始遵循这些规则:
如果新节点的值小于当前节点的值,我们去左子树
如果新节点的值大于当前节点的值,我们去右子树