知识大全 树 - 树和森林- 树的存储结构(二)
Posted 结点
篇首语:少年乘勇气,百战过乌孙。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 树 - 树和森林- 树的存储结构(二)相关的知识,希望对你有一定的参考价值。
孩子链表表示法
( ) 结点结构
① 定长结点
即树中每个结点均按树的度k来设置指针
n个结点的树一共有n*k个指针域 而树中只有n 条边 故树中的空指针数目为
kn (n )=n(k )+ (k越大 浪费的空间越多)
②不定长结点
即树中每个结点按本结点的度来设置指针数 并在结点中增设一个度数域degree指出该结点包含的指针数
各结点不等长 虽然节省了空间 但是给运算带来不便
( )孩子链表表示法
孩子链表表示法是为树中每个结点设置一个孩子链表 并将这些结点及相应的孩子链表的头指针存放在一个向量中
①孩子链表表示法的类型说明
//以下的DataType和MaxTreeSize由用户定义
typedef struct CNode//子链表结点
int child; //孩子结点在向量中对应的序号
struct CNode *next;
CNode;
typedef struct
DataType data; //存放树中结点数据
CNode *firstchild;//孩子链表的头指针
PTNode;
typedef struct
PTNode nodes[MaxTreeSize];
Int n root; //n为结点总数 root指出根在向量中的位置
CTree;
Ctree T; //T为孩子链表表示
注意
当结点T nodes[i]为叶子时 其孩子链表为空 即T nodes[i] firstchild=NULL
②孩子链表表示法实例
【例】图 (a)所示树的孩子链表表示T如下面(a)图所示
>
>
注意
① 孩子结点的数据域仅存放了它们在向量空间的序号
② 与双亲链表表示法相反 孩子链表表示便于实现涉及孩子及其子孙的运算 但不便于实现与双亲有关的运算
③ 将双亲链表表示法和孩子链表表示法结合起来 可形成双亲孩子链表表示法
【例】上面的(b)图就是用双亲链表表示法来存储图 (a)中的树
cha138/Article/program/sjjg/201311/23871相关参考
本节仅讨论树的三种常用表示法 双亲链表表示法 双亲链表表示法利用树中每个结点的双亲唯一性在存储结点信息的同时为每个结点附设一个指向其双亲的指针parent惟一 地表示任何棵树 ()双亲链表
第六章二叉树和树 本章介绍了树和森林的定义特别介绍了二叉树的定义`二叉树的性质`二叉树的存储结构及二叉树基本操作的实现对二叉树的周游算法作了详细描述森林与二叉树之间的转换为树提供了一种自然的存储结构
知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (四)[1]
第六章树和二叉树 四应用题 .从概念上讲树森林和二叉树是三种不同的数据结构将树森林转化为二叉树的基本目的是什么并指出树和二叉树的主要区别【西安电子科技大学软件二(分)】 .树和二叉树之间有什
知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[18]
.编写递归算法依据树的双亲表示法及其根结点创建树的孩子-兄弟链表存储结构要求写算法以前先写出这两种存储结构的类型说明【清华大学六(分)】 .已知二叉树以二叉链表存储编写算法完成对于树中每一个元素
树或森林与二叉树之间有一个自然的一一对应关系任何一个森林或一棵树可惟一地对应到一棵二叉树;反之任何一棵二叉树 也能惟一地对应到一个森林或一棵树 树森林到二叉树的转换 ()将树转换为二叉树
知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[5]
.假设以双亲表示法作树的存储结构写出双亲表示的类型说明并编写求给定的树的深度的算法(注:已知树中结点数)【清华大学七(分)】 .试编写算法求出二叉树的深度二叉树的存储结构为如下说明的二叉链表:
树的遍历前序遍历树 步骤 ()访问根结点 ()按从左至右的次序前序遍历根的各棵子树 前序遍历树和前序遍历与该树相对应的二叉树具有相同的遍历结果即它们的前序遍历是相同的后序遍历树 步骤 ()按从左
树与二叉树 二叉树和树是两种不同的概念这一点是必须要搞清楚的在这个部分我们要掌握树的定义二叉树的定义及主要特征(特殊的二叉树二叉树的性质)在二叉树的顺序存储结构和链式存储结构方面特别是链式存储结
链式存储结构 结点的结构 二叉树的每个结点最多有两个孩子用链接方式存储二叉树时每个结点除了存储结点本身的数据外还应设置两个指针域 lchild和rchild分别指向该结点的左孩子和右孩子结点
知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[2]
.编程求以孩子兄弟表示法存储的森林的叶子结点数要求描述结构【北京工业大学五(分)】 .假定用两个一维数组L[N]和R[N]作为有N个结点…N的二元树的存储结构L[i]和R[i]分别指示结点i的左