java 实现 二叉树
时间: 2023-11-22 10:06:00 浏览: 82
java 二叉树实现
4星 · 用户满意度95%
Java可以通过数组来实现顺序存储二叉树。在这种实现方式中,使用一个一维数组来存储二叉树中的节点数据,在数组中的位置按照特定规则与二叉树中的节点位置建立对应关系。通过这种方式,可以实现二叉树的前序遍历、中序遍历和后序遍历。
下面是一个Java的示例代码,演示了如何使用数组实现顺序存储二叉树的前序遍历:
```java
public class ArrayBinaryTreeDemo {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7};
ArrayBinaryTree arrayBinaryTree = new ArrayBinaryTree(arr);
arrayBinaryTree.preOrder(); // 输出结果:1, 2, 4, 5, 3, 6, 7
}
}
class ArrayBinaryTree {
private int[] arr; // 存储数据节点的数组
public ArrayBinaryTree(int[] arr) {
this.arr = arr;
}
// 前序遍历
public void preOrder() {
preOrder(0);
}
private void preOrder(int index) {
if (arr == null || arr.length == 0) {
System.out.println("数组为空,不能按照二叉树的前序遍历");
return;
}
System.out.println(arr[index]); // 输出当前节点
// 遍历左子树
if ((index * 2 + 1) < arr.length) {
preOrder(index * 2 + 1);
}
// 遍历右子树
if ((index * 2 + 2) < arr.length) {
preOrder(index * 2 + 2);
}
}
}
```
以上代码实现了二叉树的前序遍历。你可以根据需要扩展它来实现中序遍历和后序遍历。
阅读全文