//[1, 2, 3, 4, 5, 6]
// 第一层1 第二层2 3 第三层 456 以此类推
//顺序存储的二叉树一般只会考虑完全二叉树
//第n个元素的左子节点 2n+1 右子节点是2n+2
//第n个元素的父节点 (n-1)/2
public class ArrayBinaryTree {
int[] data;
public ArrayBinaryTree(int[] data) {
this.data = data;
}
//前序遍历
public void frontShow() {
frontShow(0);
}
public void frontShow(int index) {
if (data == null || data.length == 0) {
return;
}
System.out.print(data[index]);
if (2 * index + 1 < data.length) {
frontShow(2 * index + 1);
}
if (2 * index + 2 < data.length) {
frontShow(2 * index + 2);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] data = new int[] {1, 2, 3, 4, 5, 6, 7};
ArrayBinaryTree tree = new ArrayBinaryTree(data);
tree.frontShow();
}
}
java实现顺序二叉树
最新推荐文章于 2024-04-18 14:10:46 发布