顺序存储二叉树
大纲:
- 概念
- 遍历
一、概念
- 顺序存储二叉树就是用数组的方式来表示一颗完全二叉树
- 第n个节点的左子树是2n+1,右子树是2n+2
- 第n个节点的父节点是(n-1)/2
二、遍历
public class ArrayBinaryTree { public static void main(String[] args) { int[] arr = {1,2,3,4,5,6,7}; preOrder(arr,0);//前序遍历 1245367 midOrder(arr,0);//中序遍历 4251637 postOrder(arr,0);//后序遍历 4526731 } public static void preOrder(int[] arr,int index){ System.out.print(arr[index]); if ((index*2+1)<arr.length) { preOrder(arr,index*2+1); } if ((index*2+2)<arr.length) { preOrder(arr,index*2+2); } } public static void midOrder(int[] arr,int index){ if ((index*2+1)<arr.length) { midOrder(arr,index*2+1); } System.out.print(arr[index]); if ((index*2+2)<arr.length) { midOrder(arr,index*2+2); } } public static void postOrder(int[] arr,int index){ if ((index*2+1)<arr.length) { postOrder(arr,index*2+1); } if ((index*2+2)<arr.length) { postOrder(arr,index*2+2); } System.out.print(arr[index]); } }