基本说明:
从数据存储来说,数组存储跟数的存储方式可以相互转化
顺序存储二叉树特点:
- 顺序二叉树通常只考虑完全二叉树
- 第n个元素的左子节点为 2* n + 1
- 第n个元素的柚子节点为2 * n + 2
- 第n个元素的父节点为(n-1)/2
- n:表示二叉树中的第几个元素(按0标号)
package com.Cl.Tree;
/**
* @author SuperMan
* @version 1.0
* @date 2021/4/19 23:32
*/
public class ArrayBinaryTreeDemo {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5,6,7};
ArrayBinaryTree tree = new ArrayBinaryTree(arr);
tree.preOrder();
}
}
class ArrayBinaryTree {
private int[] arr;
public ArrayBinaryTree(int[] a){
this.arr=a;
}
public void preOrder(){
this.preOrder(0);
}
//前序遍历
public void preOrder(int a){
if (arr.length==0 || arr==null){
System.out.println("数组为空");
return;
}
System.out.println(arr[a]);
if (2 * a + 1 < arr.length){
preOrder(2*a +1);
}
if (2 * a + 2 < arr.length){
preOrder(2*a +2);
}
}
}
结果