使用Java语言,写一个最简二叉树
时间: 2023-02-19 08:51:36 浏览: 47
好的,下面是一个最简的二叉树的示例,使用 Java 语言编写:
```
public class BinaryTree {
private Node root;
public BinaryTree() {
root = null;
}
public void add(int value) {
root = addRecursive(root, value);
}
private Node addRecursive(Node current, int value) {
if (current == null) {
return new Node(value);
}
if (value < current.value) {
current.left = addRecursive(current.left, value);
} else if (value > current.value) {
current.right = addRecursive(current.right, value);
} else {
// value already exists
return current;
}
return current;
}
private class Node {
int value;
Node left;
Node right;
Node(int value) {
this.value = value;
right = null;
left = null;
}
}
}
```
在上面的代码中,我们定义了一个 `BinaryTree` 类,它具有一个私有内部类 `Node`,表示树的节点。二叉树由一系列节点组成,每个节点都有一个数值和两个指向子节点的指针。树的根节点是存储在 `root` 变量中的节点。
在这个示例中,我们实现了两个方法:
- `add(int value)`:添加一个新节点到二叉树中。
- `addRecursive(Node current, int value)`:递归添加一个新节点到二叉树中。
使用这个二叉树类的方法是这样的:
```
BinaryTree bt = new BinaryTree();
bt.add(6);
bt.add(4);
bt.add(8);
bt.add(3);
bt.add(5);
bt.add(7);
bt.add(9);
```
上面的代码会创建一个二叉树,并将 6、4、8、3、5、7、9 这几个数添加