在Java中,二叉树是一种常见的数据结构,它由节点组成,每个节点最多有两个子节点:左子节点和右子节点。以下是一个简单的Java示例,演示了如何实现一个二叉树:
代码语言:javascript复制// 节点类
class TreeNode {
int data;
TreeNode left;
TreeNode right;
public TreeNode(int data) {
this.data = data;
this.left = null;
this.right = null;
}
}
// 二叉树类
class BinaryTree {
private TreeNode root;
public BinaryTree() {
this.root = null;
}
// 插入节点
public void insert(int data) {
root = insertRec(root, data);
}
private TreeNode insertRec(TreeNode root, int data) {
if (root == null) {
root = new TreeNode(data);
return root;
}
if (data < root.data) {
root.left = insertRec(root.left, data);
} else if (data > root.data) {
root.right = insertRec(root.right, data);
}
return root;
}
// 中序遍历
public void inorderTraversal() {
inorderTraversal(root);
}
private void inorderTraversal(TreeNode root) {
if (root != null) {
inorderTraversal(root.left);
System.out.print(root.data " ");
inorderTraversal(root.right);
}
}
public static void main(String[] args) {
BinaryTree binaryTree = new BinaryTree();
binaryTree.insert(50);
binaryTree.insert(30);
binaryTree.insert(70);
binaryTree.insert(20);
binaryTree.insert(40);
binaryTree.insert(60);
binaryTree.insert(80);
System.out.println("Inorder Traversal:");
binaryTree.inorderTraversal();
}
}
在这个例子中,TreeNode
类表示二叉树的节点,每个节点包含一个整数值和两个指向左子树和右子树的指针。BinaryTree
类包含二叉树的操作,如插入节点和中序遍历。在 main
方法中,创建了一个二叉树并进行了中序遍历。你可以根据需要添加其他操作,如前序遍历、后序遍历等。
收藏 | 0点赞 | 0打赏