顺序存储的二叉树通常只考虑完全二叉树,利用数组存储
第n个元素的左子节点是:2^n+1
第n个元素的右子节点是:2^n+2
第n个元素的父节点是:(n-1)/2
n为数组的index;
代码分享:
package ArrayBinaryTree; //顺序存储的二叉树 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<data.length){ frontShow(2*index+1); } //2*index+2;再遍历当前节点的右子树 if(2*index+2<data.length){ frontShow(2*index+2);