帮我用java写二叉树
以下是一个简单的二叉树的 Java 实现:
public class BinaryTree {
private Node root;
private class Node {
int data;
Node left;
Node right;
public Node(int data) {
this.data = data;
left = null;
right = null;
}
}
public BinaryTree() {
root = null;
}
public void insert(int data) {
root = insert(root, data);
}
private Node insert(Node node, int data) {
if (node == null) {
node = new Node(data);
} else {
if (data <= node.data) {
node.left = insert(node.left, data);
} else {
node.right = insert(node.right, data);
}
}
return node;
}
public void traverseInOrder() {
traverseInOrder(root);
}
private void traverseInOrder(Node node) {
if (node != null) {
traverseInOrder(node.left);
System.out.print(node.data + " ");
traverseInOrder(node.right);
}
}
public void traversePreOrder() {
traversePreOrder(root);
}
private void traversePreOrder(Node node) {
if (node != null) {
System.out.print(node.data + " ");
traversePreOrder(node.left);
traversePreOrder(node.right);
}
}
public void traversePostOrder() {
traversePostOrder(root);
}
private void traversePostOrder(Node node) {
if (node != null) {
traversePostOrder(node.left);
traversePostOrder(node.right);
System.out.print(node.data + " ");
}
}
public static void main(String[] args) {
BinaryTree tree = new BinaryTree();
tree.insert(5);
tree.insert(3);
tree.insert(7);
tree.insert(1);
tree.insert(9);
System.out.print("In Order Traversal: ");
tree.traverseInOrder();
System.out.print("\nPre Order Traversal: ");
tree.traversePreOrder();
System.out.print("\nPost Order Traversal: ");
tree.traversePostOrder();
}
}
这个二叉树实现包含了插入节点、中序遍历、前序遍历和后序遍历等基本操作,可以通过 main 方法进行测试。
原文地址: https://www.cveoy.top/t/topic/bwqt 著作权归作者所有。请勿转载和采集!