1. 基本说明:
从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转化为树,树也可以转换成数组。
而将二叉树转换成数组存储的过程叫做顺序存储二叉树。
示意图如下:
2. 顺序存储二叉树的特点:
- 顺序存储二叉树通常只考虑完全二叉树
- n :表示二叉树的第几个元素(从 0 号下标开始),即为该节点对应在数组中的下标值
- 第 n 个元素的左子节点在数组中的下标为 2 * n + 1
- 第 n 个元素的右子节点在数组中的下标为 2 * n + 2
- 第 n 个元素的父节点为 (n - 1) / 2
3. 顺序存储二叉树的遍历:
要求:给你一个数组{1,2,3,4,5,6,7},要求以二叉树前序遍历、中序遍历、后序遍历的方式进行遍历并输出。
package tree;
public class ArrBinaryTreeDemo {
public static void main(String[] args) {
int[] arr = {
1,2,3,4,5,6,7};
ArrBinaryTree arrBinaryTree = new ArrBinaryTree(arr);
System.out.println("前序遍历:");
arrBinaryTree.preOrder(0);
System