一、顺序二叉树的概念
从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组。
二、特点:
n:表示二叉树中的第几个元素。(和数组下标原则保持一致,从0开始,见上图)
- 顺序二叉树通常只考虑完全二叉树
- 第 n 个元素的左子节点为 2 * n + 1
例如:下标为1的元素:2的左子节点为2 * 1 + 1 = 3,3即为其左子节点下标。
- 第 n 个元素的右子节点为 2 * n + 2
- 第 n 个元素的父节点为 (n - 1) / 2
下面看一个需求:
现有一个数组{1,2,3,4,5,6,7},要求以二叉树前序遍历的方式进行遍历,前序遍历的结果应当为:1,2,4,5,3,6,7
三、代码
以前序遍历为例,后两种类似的。
package com.huey.tree;
public class ArrBinaryTreeDemo {
public static void main(String[] args) {
int[] arr =