数据结构与算法基础-顺序存储二叉树前序遍历(Java)

/**
*
*	顺序存储的二叉树通常情况只考虑完全二叉树
*	第n个元素的左子节点是:2*n+1
*	第n个元素的右子节点是:2*n+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.println(data[index]);
		//2*index+1:处理左子树
		if(2*index+1<index.length){
			frontShow(2*index+1);
		}
		//2*index+2:处理右子树
		if(2*index+2<index.length){
			frontShow(2*index+2);
		}
	}
}

你可能感兴趣的:(Java)