Java中,树形结构代码实现
时间: 2024-12-12 10:14:38 浏览: 11
在Java中,树形结构是一种常用的数据结构,它由节点(Node)组成,每个节点可以有零个、一个或多个子节点,形成一种层次关系。常见的树数据结构包括二叉树(Binary Tree)、平衡二叉树(如AVL树、红黑树)、B树、堆等。以下是二叉树的一个基本实现:
```java
// 定义树节点的基本类
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int val) {
this.val = val;
left = null;
right = null;
}
}
// 二叉搜索树(BST)的示例
class BinarySearchTree {
private TreeNode root;
// 插入操作
public void insert(int val) {
root = insert(root, val);
}
private TreeNode insert(TreeNode node, int val) {
if (node == null) {
return new TreeNode(val);
} else if (val < node.val) {
node.left = insert(node.left, val);
} else if (val > node.val) {
node.right = insert(node.right, val);
}
return node;
}
// 其他方法如查找、删除等以此类推
}
```
在这个例子中,`TreeNode`表示一个树节点,包含了值以及指向左孩子和右孩子的引用。`BinarySearchTree`类则维护了一个根节点,并实现了插入节点的操作。对于更复杂的树型结构,可能需要额外处理节点的层次关系和遍历算法。
阅读全文