顺序存储二叉树
顺序存储二叉树的概念 二叉树的顺序存储结构是把二叉树的所有节点按照一定的次序顺序存储到一组包含N个存储单元的空间中(一般是数组)。在二叉树的顺序存储结构中,只存储节点的值,不存储节点之间的逻辑,节点之间的逻辑关系由数组上下标的顺序来体现。 二叉树的顺序存储原则是:不管给定的二叉树是不是完全二叉树,都看作完全二叉树,即按完全二叉树的层次次序(从上到下,从左到右)把各节点依次存入数组中。 从数据存储来看,数组存储方式和树的存储方式可以互相转换,即在数组可以转换成树,树也可以转成数组 ,看下图 顺序存储二叉树的特点 顺序二叉树通常只考虑完全二叉树 第n个元素的左子节点为 2 * n + 1 第n个元素的右子节点为 2 * n + 2 第n个元素的父节点为 (n-1) / 2 n : 表示二叉树中的第几个元素(按0开始编号如图所示),也是数组的下标 通过以上的特点可以得出 : 顺序存储二叉树本质上是 使用一个数组来存储 二叉树的节点数据, 数组的第n(表示数组的下标)个元素的左子节点的数组 标为2 * n + 1 数组的第n个元素的右子节点的数组 标为2 * n + 2 数组的第n个元素的父节点是(n-1)/2 要满足以上公式的条件是数组下标不能越界 顺序存储二叉树示例 需求: 给你一个数组 {1,2,3,4,5,6,7},要求以二叉树前序遍历的方式进行遍历。 前序遍历的结果应当为 1,2