知识大全 树 - 树和森林- 树的存储结构(一)
Posted 结点
篇首语:春衣少年当酒歌,起舞四顾以笑和。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 树 - 树和森林- 树的存储结构(一)相关的知识,希望对你有一定的参考价值。
本节仅讨论树的三种常用表示法
双亲链表表示法
双亲链表表示法利用树中每个结点的双亲唯一性 在存储结点信息的同时 为每个结点附设一个指向其双亲的指针parent 惟一
地表示任何 棵树
( )双亲链表表示法的实现
方法① 用动态链表实现
方法② 用向量表示——更为方便
( )双亲链表向量表示的形式说明
#define MaxTreeSize //向量空间的大小 由用户定义
typedef char DataType; //应由用户定义
typedef struct
DataType data;//结点数据
int parent; //双亲指针 指示结点的双亲在向量中的位置
PTreeNode;
typedef struct
PTreeNode nodes[MaxTreeSize];
int n; //结点总数
PTree;
PTree T; //T是双亲链表
注意
若T nodes[i] parent=j 则T nodes[i]的双亲是T nodes[j]
( )双亲链表表示实例
【例】图 (a)的双亲链表表示如下面数组所示
>
分析
E和F所在结点的双亲域是 它们的双亲结点在向量中的位置是 即B是它们的双亲
注意
① 根无双亲 其parent域为
② 双亲链表表示法中指针parent向上链接 适合求指定结点的双亲或祖先(包括根);求指定结点的孩子或其它后代时 可能要
遍历整个数组
cha138/Article/program/sjjg/201311/23872相关参考
孩子兄弟链表表示法 ()表示方法 在存储结点信息的同时附加两个分别指向该结点最左孩子和右邻兄弟的指针域leftmostchild和rightsibling即可得树的孩 子兄弟链表表示 ()
第六章二叉树和树 本章介绍了树和森林的定义特别介绍了二叉树的定义`二叉树的性质`二叉树的存储结构及二叉树基本操作的实现对二叉树的周游算法作了详细描述森林与二叉树之间的转换为树提供了一种自然的存储结构
树或森林与二叉树之间有一个自然的一一对应关系任何一个森林或一棵树可惟一地对应到一棵二叉树;反之任何一棵二叉树 也能惟一地对应到一个森林或一棵树 树森林到二叉树的转换 ()将树转换为二叉树
树的遍历前序遍历树 步骤 ()访问根结点 ()按从左至右的次序前序遍历根的各棵子树 前序遍历树和前序遍历与该树相对应的二叉树具有相同的遍历结果即它们的前序遍历是相同的后序遍历树 步骤 ()按从左
知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (四)[1]
第六章树和二叉树 四应用题 .从概念上讲树森林和二叉树是三种不同的数据结构将树森林转化为二叉树的基本目的是什么并指出树和二叉树的主要区别【西安电子科技大学软件二(分)】 .树和二叉树之间有什
知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[18]
.编写递归算法依据树的双亲表示法及其根结点创建树的孩子-兄弟链表存储结构要求写算法以前先写出这两种存储结构的类型说明【清华大学六(分)】 .已知二叉树以二叉链表存储编写算法完成对于树中每一个元素
知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[2]
.编程求以孩子兄弟表示法存储的森林的叶子结点数要求描述结构【北京工业大学五(分)】 .假定用两个一维数组L[N]和R[N]作为有N个结点…N的二元树的存储结构L[i]和R[i]分别指示结点i的左
设树T如下图所示结点R是根根的子树从左到右依次为TT…Tk > 树T的前序遍历定义 若树T非空则 ①访问根结点R; ②依次前序遍历根R的各子树TT…Tk 树的后序遍历定义 若树T非空
知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[5]
.假设以双亲表示法作树的存储结构写出双亲表示的类型说明并编写求给定的树的深度的算法(注:已知树中结点数)【清华大学七(分)】 .试编写算法求出二叉树的深度二叉树的存储结构为如下说明的二叉链表:
知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (三)[6]
.一个无序序列可以通过构造一棵______树而变成一个有序序列构造树的过程即为对无序序列进行排序的过程【西安电子科技大学软件一(分)】 .利用树的孩子兄弟表示法存储可以将一棵树转换为______