顺序存储的二叉树,只考虑完全二叉树。
第n个元素的左子节点是:2n+1;
第n个元素的右子节点是:2n+2;
第n个元素的父节点是:(n-1)/ 2;
1.二叉树遍历
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);
}
}
}
//test
public static void main(String[] args){
int[] array = new int[]{1,2,3,4,5,6,7};
ArrayBinaryTree abt = new ArrayBinaryTree(array);
abt.frontShow();
}
//输出
1245367