Java 二叉树代码示例:实现插入和遍历操作
下面是一段基本的 Java 二叉树代码:
class Node {
int data;
Node left;
Node right;
public Node(int data) {
this.data = data;
left = null;
right = null;
}
}
class BinaryTree {
Node root;
public BinaryTree() {
root = null;
}
// 插入节点
public void insert(int data) {
root = insertHelper(root, data);
}
private Node insertHelper(Node root, int data) {
if (root == null) {
root = new Node(data);
return root;
}
if (data < root.data) {
root.left = insertHelper(root.left, data);
} else if (data > root.data) {
root.right = insertHelper(root.right, data);
}
return root;
}
// 中序遍历
public void inOrder() {
inOrderHelper(root);
}
private void inOrderHelper(Node root) {
if (root != null) {
inOrderHelper(root.left);
System.out.print(root.data + ' ');
inOrderHelper(root.right);
}
}
// 前序遍历
public void preOrder() {
preOrderHelper(root);
}
private void preOrderHelper(Node root) {
if (root != null) {
System.out.print(root.data + ' ');
preOrderHelper(root.left);
preOrderHelper(root.right);
}
}
// 后序遍历
public void postOrder() {
postOrderHelper(root);
}
private void postOrderHelper(Node root) {
if (root != null) {
postOrderHelper(root.left);
postOrderHelper(root.right);
System.out.print(root.data + ' ');
}
}
}
public class Main {
public static void main(String[] args) {
BinaryTree tree = new BinaryTree();
// 插入节点
tree.insert(50);
tree.insert(30);
tree.insert(20);
tree.insert(40);
tree.insert(70);
tree.insert(60);
tree.insert(80);
// 中序遍历
System.out.println('InOrder Traversal: ');
tree.inOrder();
// 前序遍历
System.out.println('\nPreOrder Traversal: ');
tree.preOrder();
// 后序遍历
System.out.println('\nPostOrder Traversal: ');
tree.postOrder();
}
}
这段代码演示了如何创建一个二叉树,并插入节点。它还包含了三种遍历方式:中序遍历、前序遍历和后序遍历。通过这个例子,你可以学习如何使用 Java 实现基本的二叉树操作。
原文地址: https://www.cveoy.top/t/topic/nXM8 著作权归作者所有。请勿转载和采集!