阅读量:0
在 Java 中,可以使用类来表示二叉树节点和二叉树。下面是一个简单的二叉树实现:
// 定义二叉树节点类 class TreeNode { int value; // 节点值 TreeNode left; // 左子节点 TreeNode right; // 右子节点 // 构造方法 public TreeNode(int value) { this.value = value; this.left = null; this.right = null; } } // 定义二叉树类 class BinaryTree { private TreeNode root; // 根节点 // 构造方法 public BinaryTree() { root = null; } // 向二叉树中插入节点 public void insert(int value) { if (root == null) { root = new TreeNode(value); } else { insertRecursively(root, value); } } // 递归插入节点 private void insertRecursively(TreeNode node, int value) { if (value< node.value) { if (node.left == null) { node.left = new TreeNode(value); } else { insertRecursively(node.left, value); } } else { if (node.right == null) { node.right = new TreeNode(value); } else { insertRecursively(node.right, value); } } } // 中序遍历二叉树 public void inorderTraversal() { inorderTraversalRecursively(root); System.out.println(); } // 递归中序遍历 private void inorderTraversalRecursively(TreeNode node) { if (node != null) { inorderTraversalRecursively(node.left); System.out.print(node.value + " "); inorderTraversalRecursively(node.right); } } } // 测试代码 public class Main { public static void main(String[] args) { BinaryTree tree = new BinaryTree(); tree.insert(5); tree.insert(3); tree.insert(7); tree.insert(2); tree.insert(4); tree.insert(6); tree.insert(8); System.out.println("中序遍历结果:"); tree.inorderTraversal(); } }
这个例子中,我们定义了一个 TreeNode
类来表示二叉树的节点,包含节点值、左子节点和右子节点。然后定义了一个 BinaryTree
类来表示二叉树,包含根节点和插入、中序遍历等操作方法。最后在 Main
类中进行测试,插入一些节点并进行中序遍历。