用 java 实现二叉树的初始化和插入
时间: 2024-09-30 12:10:46 浏览: 28
Java二叉树算法实现:节点插入与遍历示例代码
在 Java 中,二叉树是一种常见的数据结构,可以使用递归或迭代的方式来实现其初始化和插入操作。这里简要地介绍如何创建一个空的二叉树以及插入节点:
**初始化一个空二叉树(Empty Tree):**
```java
public class BinaryTree {
private Node root; // 根节点
// 定义二叉树节点
static class Node {
int data;
Node left, right;
Node(int item) {
data = item;
left = right = null;
}
}
public BinaryTree() {
root = null;
}
}
```
在这个例子中,`BinaryTree` 类有一个内部静态类 `Node` 来表示每个节点,根节点 `root` 初始为空。
**插入节点(Insertion):**
```java
public void insert(int value) {
if (root == null) {
root = new Node(value);
} else {
insertRec(root, value); // 递归插入函数
}
}
private void insertRec(Node current, int value) {
if (value < current.data) {
if (current.left == null) {
current.left = new Node(value);
} else {
insertRec(current.left, value);
}
} else if (value > current.data) {
if (current.right == null) {
current.right = new Node(value);
} else {
insertRec(current.right, value);
}
}
}
```
`insert` 函数首先检查根节点是否为空,如果为空就新建一个节点作为根;如果不为空,则通过递归 `insertRec` 调整当前节点的位置,将值小于当前节点的数据插入左子树,大于当前节点的数据插入右子树。
阅读全文