一、顺序存储二叉树简介
二叉树的存储结构有两种,分别为顺序存储和链式存储。
二叉树的顺序存储,指的是使用顺序表(数组)存储二叉树。只有完全二叉树才可以使用顺序表存储。因此,如果我们想顺序存储普通二叉树,需要提前将普通二叉树转化为完全二叉树。
从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组,逻辑示意图如下
二、代码实现
要求:给定已知数组{1,2,3,4,5,6,7},要求以二叉树前序,中序,后续遍历的方式进行遍历,达到如下结果。
前序遍历:1,2,4,5,3,6,7
中序遍历:4,2,5,1,6,3,7
后序遍历:4,5,2,6,7,3,1
package tree;
public class ArrayBinaryTreeTest {
public static void main(String[] args){
int[] arr = {
1,2,3,4,5,6,7};
ArrayBinaryTree tree = new ArrayBinaryTree(arr);
//根节点下标从0开始
//前序遍历
System.out.println("--------前序遍历--------");
tree.preOrder(0