知识大全 树 - 二叉树 - 二叉树的存储结构(一)
Posted 结点
篇首语:犀渠玉剑良家子,白马金羁侠少年。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 树 - 二叉树 - 二叉树的存储结构(一)相关的知识,希望对你有一定的参考价值。
顺序存储结构
该方法是把二叉树的所有结点按照一定的线性次序存储到一片连续的存储单元中 结点在这个序列中的相互位置还能反映出结点
之间的逻辑关系
完全二叉树结点编号
( ) 编号办法
在一棵n个结点的完全二叉树中 从树根起 自上层到下层 每层从左至右 给所有结点编号 能得到一个反映整个二叉树结构的
线性序列
【例】如下图所示
>
( ) 编号特点
完全二叉树中除最下面一层外 各层都充满了结点 每一层的结点个数恰好是上一层结点个数的 倍 从一个结点的编号就可推得
其双亲 左 右孩子 兄弟等结点的编号 假设编号为i的结点是k i ( ≤i≤n) 则有
①若i> 则k i 的双亲编号为
>;若i= 则K i 是根结点 无双亲②若 i≤n 则K i 的左孩子的编号是 i;否则 K i 无左孩子 即K i 必定是叶子 因此完全二叉树中编号
>的结点必定是叶结点
③若 i+ ≤n 则K i 的右孩子的编号是 i+ ;否则 K i 无右孩子
④若i为奇数且不为 则K i 的左兄弟的编号是i ;否则 K i 无左兄弟
⑤若i为偶数且小于n 则K i 的右兄弟的编号是i+ ;否则 K i 无右兄弟
完全二叉树的顺序存储
将完全二叉树中所有结点按编号顺序依次存储在一个向量bt[ n]中
其中
bt[ n]用来存储结点
bt[ ]不用或用来存储结点数目
【例】表 是图 所示的完全二叉树的顺序存储结构 bt[ ]为结点数目 b[ ]的双亲 左右孩子分别是bt[ ] bt[l ]和
bt[ ]
>
一般二叉树的顺序存储
( ) 具体方法
① 将一般二叉树添上一些 虚结点 成为 完全二叉树
② 为了用结点在向量中的相对位置来表示结点之间的逻辑关系 按完全二叉树形式给结点编号
③ 将结点按编号存入向量对应分量 其中 虚结点 用 ∮ 表示
>
( ) 优点和缺点
① 对完全二叉树而言 顺序存储结构既简单又节省存储空间
② 一般的二叉树采用顺序存储结构时 虽然简单 但易造成存储空间的浪费
【例】最坏的情况下 一个深度为k且只有k个结点的右单支树需要 k 个结点的存储空间
③在对顺序存储的二叉树做插入和删除结点操作时 要大量移动结点
二叉树的顺序存储结构类型定义
【参见参考书】
cha138/Article/program/sjjg/201311/23886相关参考
二叉树是树形结构的一个重要类型许多实际问题抽象出来的数据结构往往是二叉树的形式即使是一般的树也能简单地转换为二 叉树而且二叉树的存储结构及其算法都较为简单因此二叉树显得特别重要 二叉树的定义
顺序存储结构 该方法是把二叉树的所有结点按照一定的线性次序存储到一片连续的存储单元中结点在这个序列中的相互位置还能反映出结点之间的逻辑关系.完全二叉树结点编号()编号办法 在一棵n个结点的完全二叉
二叉树是树形结构的一个重要类型许多实际问题抽象出来的数据结构往往是二叉树的形式即使是一般的树也能简单地转换为二叉树而且二叉树的存储结构及其算法都较为简单因此二叉树显得特别重要二叉树的定义二叉树的递
树与二叉树 二叉树和树是两种不同的概念这一点是必须要搞清楚的在这个部分我们要掌握树的定义二叉树的定义及主要特征(特殊的二叉树二叉树的性质)在二叉树的顺序存储结构和链式存储结构方面特别是链式存储结
第六章二叉树和树 本章介绍了树和森林的定义特别介绍了二叉树的定义`二叉树的性质`二叉树的存储结构及二叉树基本操作的实现对二叉树的周游算法作了详细描述森林与二叉树之间的转换为树提供了一种自然的存储结构
知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[18]
.编写递归算法依据树的双亲表示法及其根结点创建树的孩子-兄弟链表存储结构要求写算法以前先写出这两种存储结构的类型说明【清华大学六(分)】 .已知二叉树以二叉链表存储编写算法完成对于树中每一个元素
知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[5]
.假设以双亲表示法作树的存储结构写出双亲表示的类型说明并编写求给定的树的深度的算法(注:已知树中结点数)【清华大学七(分)】 .试编写算法求出二叉树的深度二叉树的存储结构为如下说明的二叉链表:
满二叉树是一棵深度为k结点数为(^k)的二叉树完全二叉树是满二叉树在最下层自右向左去处部分结点 二叉树的顺序存储结构就是把二叉树的所有结点按照层次顺序存储到连续的存储单元中(存储前先将其画成完全
知识大全 数据结构考研分类复习真题 第六章 答案 (五)[7]
[题目分析]二叉树采用顺序存储结构(一维数组)是按完全二叉树的形状存储的不是完全二叉树的二叉树顺序存储时要加虚结点数组中的第一个元素是根结点本题中采用队列结构 typedefstruct Bi
知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (三)[6]
.一个无序序列可以通过构造一棵______树而变成一个有序序列构造树的过程即为对无序序列进行排序的过程【西安电子科技大学软件一(分)】 .利用树的孩子兄弟表示法存储可以将一棵树转换为______