数据结构——树与森林

合集下载

吴裕雄--天生自然数据结构学习笔记:什么是生成树,生成树(生成森林)详解

吴裕雄--天生自然数据结构学习笔记:什么是生成树,生成树(生成森林)详解

吴裕雄--天⽣⾃然数据结构学习笔记:什么是⽣成树,⽣成树
(⽣成森林)详解
对连通图进⾏遍历,过程中所经过的边和顶点的组合可看做是⼀棵普通树,通常称为⽣成树。

如图1所⽰,图 1a) 是⼀张连通图,图 1b) 是其对应的2种⽣成树。

连通图中,由于任意两顶点之间可能含有多条通路,遍历连通图的⽅式有多种,往往⼀张连通图可能有多种不同的⽣成树与之对应。

连通图中的⽣成树必须满⾜以下2个条件:
包含连通图中所有的顶点;
任意两顶点之间有且仅有⼀条通路;
因此,连通图的⽣成树具有这样的特征,即⽣成树中边的数量 = 顶点数 - 1。

⽣成森林
⽣成树是对应连通图来说,⽽⽣成森林是对应⾮连通图来说的。

我们知道,⾮连通图可分解为多个连通分量,⽽每个连通分量⼜各⾃对应多个⽣成树(⾄少是1棵),因此与整个⾮连通图相对应的,是由多棵⽣成树组成的⽣成森林。

二叉树,树,森林遍历之间的对应关系

二叉树,树,森林遍历之间的对应关系

二叉树,树,森林遍历之间的对应关系一、引言在计算机科学中,数据结构是非常重要的知识点之一。

而树这一数据结构,作为基础的数据结构之一,在软件开发中有着广泛的应用。

本文将重点探讨二叉树、树和森林遍历之间的对应关系,帮助读者更加全面地理解这些概念。

二、二叉树1. 二叉树的定义二叉树是一种特殊的树结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。

二叉树可以为空,也可以是一棵空树。

2. 二叉树的遍历在二叉树中,有三种常见的遍历方式,分别是前序遍历、中序遍历和后序遍历。

在前序遍历中,节点的访问顺序是根节点、左子树、右子树;在中序遍历中,节点的访问顺序是左子树、根节点、右子树;在后序遍历中,节点的访问顺序是左子树、右子树、根节点。

3. 二叉树的应用二叉树在计算机科学领域有着广泛的应用,例如用于构建文件系统、在数据库中存储有序数据、实现算法中的搜索和排序等。

掌握二叉树的遍历方式对于理解这些应用场景非常重要。

三、树1. 树的定义树是一种抽象数据类型,由n(n>0)个节点组成一个具有层次关系的集合。

树的特点是每个节点都有零个或多个子节点,而这些子节点又构成了一颗子树。

树中最顶层的节点称为根节点。

2. 树的遍历树的遍历方式有先根遍历、后根遍历和层次遍历。

在先根遍历中,节点的访问顺序是根节点、子树1、子树2...;在后根遍历中,节点的访问顺序是子树1、子树2...,根节点;在层次遍历中,节点的访问顺序是从上到下、从左到右依次访问每个节点。

3. 树的应用树广泛用于分层数据的表示和操作,例如在计算机网络中的路由算法、在操作系统中的文件系统、在程序设计中的树形结构等。

树的遍历方式对于处理这些应用来说至关重要。

四、森林1. 森林的定义森林是n(n>=0)棵互不相交的树的集合。

每棵树都是一颗独立的树,不存在交集。

2. 森林的遍历森林的遍历方式是树的遍历方式的超集,对森林进行遍历就是对每棵树进行遍历的集合。

3. 森林的应用森林在实际编程中经常用于解决多个独立树结构的问题,例如在数据库中对多个表进行操作、在图像处理中对多个图形进行处理等。

数据结构树的知识点总结

数据结构树的知识点总结

数据结构树的知识点总结一、树的基本概念。

1. 树的定义。

- 树是n(n ≥ 0)个结点的有限集。

当n = 0时,称为空树。

在任意一棵非空树中:- 有且仅有一个特定的称为根(root)的结点。

- 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、…、Tm,其中每个集合本身又是一棵树,并且称为根的子树(sub - tree)。

2. 结点的度、树的度。

- 结点的度:结点拥有的子树个数称为结点的度。

- 树的度:树内各结点的度的最大值称为树的度。

3. 叶子结点(终端结点)和分支结点(非终端结点)- 叶子结点:度为0的结点称为叶子结点或终端结点。

- 分支结点:度不为0的结点称为分支结点或非终端结点。

- 除根结点之外,分支结点也称为内部结点。

4. 树的深度(高度)- 树的层次从根开始定义起,根为第1层,根的子结点为第2层,以此类推。

树中结点的最大层次称为树的深度(或高度)。

二、二叉树。

1. 二叉树的定义。

- 二叉树是n(n ≥ 0)个结点的有限集合:- 或者为空二叉树,即n = 0。

- 或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。

2. 二叉树的特点。

- 每个结点最多有两棵子树,即二叉树不存在度大于2的结点。

- 二叉树的子树有左右之分,次序不能颠倒。

3. 特殊的二叉树。

- 满二叉树。

- 一棵深度为k且有2^k - 1个结点的二叉树称为满二叉树。

满二叉树的特点是每一层上的结点数都是最大结点数。

- 完全二叉树。

- 深度为k的、有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。

完全二叉树的叶子结点只可能在层次最大的两层上出现;对于最大层次中的叶子结点,都依次排列在该层最左边的位置上;如果有度为1的结点,只可能有一个,且该结点只有左孩子而无右孩子。

三、二叉树的存储结构。

1. 顺序存储结构。

- 二叉树的顺序存储结构就是用一组地址连续的存储单元依次自上而下、自左至右存储完全二叉树上的结点元素。

数据结构-第6章 树和二叉树---4. 树和森林(V1)

数据结构-第6章 树和二叉树---4. 树和森林(V1)
ElemType data ; struct CSnode *firstchild, *nextsibing ; }CSNode;
6.4.1 树的存储结构
R AB C D EG F
R⋀
A
⋀D
⋀B
⋀E ⋀
C⋀
⋀G
⋀F ⋀
6.4.2 树、森林和二叉树的转换
1. 树转换为二叉树 将树转换成二叉树在“孩子兄弟表示法”中已 给出,其详细步骤是: ⑴ 加线。在树的所有相邻兄弟结点之间加一 条连线。 ⑵ 去连线。除最左的第一个子结点外,父结点 与所有其它子结点的连线都去掉。 ⑶ 旋转。将树以根结点为轴心,顺时针旋转 450,使之层次分明。
B C
D
A E
L HK
M
技巧:无左孩子 者即为叶子结点
6.4.3 树和森林的遍历
1. 树的遍历 由树结构的定义可知,树的遍历有二种方法。 ⑴ 先序遍历:先访问根结点,然后依次先序 遍历完每棵子树等。价于对应二叉树的先序遍历
⑵ 后序遍历:先依次后序遍历完每棵子树,然 后访问根结点。等价于对应二叉树的中序遍历
0 R -1 1A 0 2B 0 3C 0
}Ptree ; R
4D 1 5E 1
AB C
6F 3
7G 6
DE
F
8H 6
9I 6
G H I 10~MAX_Size-1 ... ...
6.4.1 树的存储结构
2. 孩子表示法
每个结点的孩子结点构成一个单链表,即有n 个结点就有n个孩子链表;
n个孩子的数据和n个孩子链表的头指针组成一 个顺序表; 结点结构定义: 顺序表定义:
typedef struct PTNode { ElemType data ;

数据结构第七章 树和森林

数据结构第七章 树和森林

7.5 树的应用
➢判定树
在实际应用中,树可用于判定问题的描述和解决。
•设有八枚硬币,分别表示为a,b,c,d,e,f,g,h,其中有一枚且 仅有一枚硬币是伪造的,假硬币的重量与真硬币的重量不同,可能轻, 也可能重。现要求以天平为工具,用最少的比较次数挑选出假硬币, 并同时确定这枚硬币的重量比其它真硬币是轻还是重。
的第i棵子树。 ⑺Delete(t,x,i)在树t中删除结点x的第i棵子树。 ⑻Tranverse(t)是树的遍历操作,即按某种方式访问树t中的每个
结点,且使每个结点只被访问一次。
7.2.2 树的存储结构
顺序存储结构 链式存储结构 不管哪一种存储方式,都要求不但能存储结点本身的数据 信息,还要能够唯一的反映树中各结点之间的逻辑关系。 1.双亲表示法 2.孩子表示法 3.双亲孩子表示法 4.孩子兄弟表示法
21
将二叉树还原为树示意图
A BCD
EF
A
B
C
E
D
F
A
B
C
E
D
F
22
练习:将下图所示二叉树转化为树
1 2
4
5
3
6
2 4
1 53
6
23
7.3.2 森林转换为二叉树
由森林的概念可知,森林是若干棵树的集合,只要将森林中各棵树 的根视为兄弟,森林同样可以用二叉树表示。 森林转换为二叉树的方法如下:
⑴将森林中的每棵树转换成相应的二叉树。 ⑵第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树 的根结点作为前一棵二叉树根结点的右孩子,当所有二叉树连起来 后,此时所得到的二叉树就是由森林转换得到的二叉树。
相交的集合T1,T2,…,Tm,其中每一个集合Ti(1≤i≤m)本身又是 一棵树。树T1,T2,…,Tm称为这个根结点的子树。 • 可以看出,在树的定义中用了递归概念,即用树来定义树。因此, 树结构的算法类同于二叉树结构的算法,也可以使用递归方法。

数据结构习题及答案与实验指导(树和森林)7

数据结构习题及答案与实验指导(树和森林)7

第7章树和森林树形结构是一类重要的非线性结构。

树形结构的特点是结点之间具有层次关系。

本章介绍树的定义、存储结构、树的遍历方法、树和森林与二叉树之间的转换以及树的应用等内容。

重点提示:●树的存储结构●树的遍历●树和森林与二叉树之间的转换7-1 重点难点指导7-1-1 相关术语1.树的定义:树是n(n>=0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件:①有且仅有一个特定的称为根的结点;②其余的结点可分为m(m>=0)个互不相交的子集T1,T2,…,T m,其中每个子集本身又是一棵树,并称为根的子树。

要点:树是一种递归的数据结构。

2.结点的度:一个结点拥有的子树数称为该结点的度。

3.树的度:一棵树的度指该树中结点的最大度数。

如图7-1所示的树为3度树。

4.分支结点:度大于0的结点为分支结点或非终端结点。

如结点a、b、c、d。

5.叶子结点:度为0的结点为叶子结点或终端结点。

如e、f、g、h、i。

6.结点的层数:树是一种层次结构,根结点为第一层,根结点的孩子结点为第二层,…依次类推,可得到每一结点的层次。

7.兄弟结点:具有同一父亲的结点为兄弟结点。

如b、c、d;e、f;h、i。

8.树的深度:树中结点的最大层数称为树的深度或高度。

9.有序树:若将树中每个结点的子树看成从左到右有次序的(即不能互换),则称该树为有序树,否则称为无序树。

10.森林:是m棵互不相交的树的集合。

7-1-2 树的存储结构1.双亲链表表示法以图7-1所示的树为例。

(1)存储思想:因为树中每个元素的双亲是惟一的,因此对每个元素,将其值和一个指向双亲的指针parent构成一个元素的结点,再将这些结点存储在向量中。

(2)存储示意图:-1 data:parent:(3)注意: Parrent域存储其双亲结点的存储下标,而不是存放结点值。

下面的存储是不正确的:-1 data:parent:2.孩子链表表示法(1)存储思想:将每个数据元素的孩子拉成一个链表,链表的头指针与该元素的值存储为一个结点,树中各结点顺序存储起来,一般根结点的存储号为0。

南京大学数据结构(商琳)Chapter5

南京大学数据结构(商琳)Chapter5

1
2
3
45 67
8 9 10
Department of Computer Science & Technology, Nanjing University
fall 2009
DATA STRUCTURES
(4)若结点编号i为奇数,且i!=1,则它的左兄 弟为结点i-1。
(5)若结点编号i为偶数,且i!=n,则它的右兄 弟为结点i+1。
fall 2009
DATA STRUCTURES
树的示意图 (P.187)
Department of Computer Science & Technology, Nanjing University
fall 2009
树的特点
DATA STRUCTURES
• 每棵子树的根结点有且仅有一个直接前驱, 但可以有0个或多个直接后继。
根以外的其他结点划分为 m (m 0) 个互不相交的
有限集合T1, T2, …, Tm,每个集合又是一棵树,并 且称之为根的子树。
每棵子树的根结点有且仅有一个直接前驱,但可以
有0个或多个直接后继。
Department of Computer Science & Technology, Nanjing University
int InsertChild ( const position p, const Type &value );
int DeleteChild ( position p, int i );
Department of Computer Science & Technology, Nanjing University
Department of Computer Science & Technology, Nanjing University

树形结构——树和森林

树形结构——树和森林
树形结构——树和森林 树形结构——树和森林
TT
讨论的问题
1、树的概念 2、树的遍历 3、树的存储方式 4、二叉树
树的概念
树是一种常见的非线性的数据结构。 树是一种常见的非线性的数据结构 。 树的递归定义如 下: 树是n(n> 个结点的有限集, n(n>0 树是n(n>0)个结点的有限集,这个集合满足以下条 件: 有且仅有一个结点没有前件(父亲结点) ⑴有且仅有一个结点没有前件(父亲结点),该结 点称为树的根; 点称为树的根; 除根外,其余的每个结点都有且仅有一个前件; ⑵除根外,其余的每个结点都有且仅有一个前件; 除根外,每一个结点都通过唯一的路径连到根上。 ⑶除根外,每一个结点都通过唯一的路径连到根上。 这条路径由根开始,而未端就在该结点上, 这条路径由根开始 , 而未端就在该结点上 , 且除根以 路径上的每一个结点都是前一个结点的后件( 外 , 路径上的每一个结点都是前一个结点的后件 ( 儿 子结点) 子结点);
树的表示方法
树的表示方法一般有两种: 自然界的树形表示法:用结点和边表示树, ⑴自然界的树形表示法:用结点和边表示树,例如上图采用的就 是自然界的树形表示法。树形表示法一般用于分析问题。 是自然界的树形表示法。树形表示法一般用于分析问题。
⑵括号表示法:先将根结点放入一对圆括号中,然后把它的子树 括号表示法: 按由左而右的顺序放入括号中,而对子树也采用同样方法处理: 同层子树与它的根结点用圆括号括起来,同层子树之间用逗号隔 开,最后用闭括号括起来。例如图可写成如下形式 (r(a(w,x(d(h),e)),b(f),c(s,t(i(m,o, n),j),u)))
1、二叉树的递归定义和基本形态
二叉树是以结点为元素的有限集,它或者为空, 二叉树是以结点为元素的有限集,它或者为空,或者满足以 下条件: ⑴有一个特定的结点称为根; ⑵ 余下的结点分为互不相交的子集 L 和 R , 其中 R 是根的 余下的结点分为互不相交的子集L 其中R 左子树;L是根的右子树;L 左子树;L是根的右子树;L和R又是二叉树; 由上述定义可以看出, 由上述定义可以看出,二叉树和树是两个不同的概念 ⑴树的每一个结点可以有任意多个后件,而二叉树中每 树的每一个结点可以有任意多个后件, 个结点的后件不能超过2 个结点的后件不能超过2; ⑵树的子树可以不分次序(除有序树外);而二叉树的 树的子树可以不分次序(除有序树外) 子树有左右之分。我们称二叉树中结点的左后件为左儿子, 子树有左右之分。我们称二叉树中结点的左后件为左儿子, 右后件为右儿子。 右后件为右儿子。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
§6.2 树的存储结构
6.2.1 父结点表示法存储
将树中结点按照“由上到下”和“由左到右”的顺序做成一 个结点序列,将该序列存放在一维数组Tr当中。Tr中每个元素 (结点)都有一个Data域和一个Parent域,其中Data域存放结 点数据,而Parent域存放结点的父结点在数组中下标。
A
Tr[i]:
1 2 3 4 5 6 7 8 9 10
A B ^
^ C D ^
^
E
^
F
^
G
^
H
^
^
J
^
K
^
15
§6.3 树的遍历
6.3.1 层次遍历
1、层次遍历概念
两个步骤:
① 按照树的“层”的顺序进行访问,即“从上到下”。 ② 访问到达每一层后,再依次访问该层的每个结点,即“从左到右”。
两个基本点:
① 采用子结点表示法的存储结构记录树中结点。 ② 基于队列的结点存储 当进入一个结点后,需要将该结点所有子结点
第六章 树与森林
学习要点:

树的递归定义和森林的基本概念。
树与森林的存储结构。
树与森林的遍历算法 树、森林与二叉树的相互转换。
2
§6.1 树及其相关概念
6.1.1 树的基本概念
1、树的基本概念
树(Tree)是一个由n(n≥0)个结点构成的有限集合T。 ① 当n=0时,称T为“空树”。 ② 当n≠0时,T中诸元素满足下述条件: ● 有且仅有一个特定数据元素没有前驱,称其为T的根结点。 ● 除根结点外其余数据元素,又可分为m(0≤m<n)个互不相交 的有限集合:T1,T2,…,Tm,每一个集合Ti(0≤i≤m)又是一
可以分别按照顺序或链表方式进行进行存储。
下标 0 Data A B C D E F G H I J K Lch 1 4 -1 6 -1 -1 8 -1 -1 -1 -1 (b) RS -1 2 3 -1 5 -1 7 -1 9 10 -1
^ I
(c) Data LCH RS
A B E F I C G J K D H
路径的长度
7
6.1.2 结点及其基本概念2
2、结点分类
(1)根结点:树T中没有前驱的结点称为T的根结点
叶结点:树T中没有后继的点称为T的叶结点 内部结点:树T中既有前驱又有后继的结点称为T的内部结点 (2)分支结点:树T中度数不等于0的结点为T的分支结点 非分支结点:树T中度数等于0的结点称为T的非分支结点
已知树T的度为m,采用基于顺序表的子结点表示法存储,在此基础上实施 后序遍历,输出结果。 00 Post_Tr(treenode tr[], int m,int root) 01 { 02 03 04 int k; k = root; if (k != NULL)
05
06 07 08
{
for (i=1; i<=m; i++) Post_Tr(tr[],m,i); printf ("%c", tr[k].Data); /* 访问结点 */ /* 依次后序遍历结点的各子树 */
13
6.2.3 左子/右兄弟结点表示法存储
结点由Data域(存放数据信息)、Lch域(存放该结点 第一个子结点即左子结点信息)和RS域(存放该结点第一个 兄弟结点即右兄弟结点信息)组成。
Data LCH RS
数据域
第一个孩 子下标
下一个兄 弟下标
(a)
14
6.2.3 左子/右兄弟结点表示法存储2
森林 n(n≥0)棵互不相交的树的集合,称为森林(forest)。
5
6.1.1 树的基本概念2
2、树的表示方法
① 树形表示法
A
A
② 文氏图表示法
C F E G I J H
③ 凹入表示法
A B C D E F G H I J
B D E F I
C
B D
G
H J
④ 括弧表示法 (A(B(D)(E(I)(J))(F))(C(G)(H)))
信息记录下来以便必要时能够使用。由于先达到结点的子结点,将来会 得到首先访问,所以需要采用队列方式记录结点的子结点信息以保证它 们能够依照进入队列的先后顺序得到访问。
16
例子:
以层次遍历方式访问如图所示的二叉树。
A B C D
E
F K
G
H
I
J
解: A-B-C-D-E-F-G-H-I-J-K
17
6.3.1 层次遍历2
2、层次遍历算法
步骤 初始 1 2 3 4 5 6 7 8 9 10 11 当前出队结点 — A B C D E F G H I J K 当前访问结点 — A B C D E F G H I J K 当前进队结点 A B,C,D E,F,G H I,J — K — — — — — 当前队列内容 A B,C,D C,D,E,F,G D,E,F,G,H E,F,G,H,I,J F,G,H,I,J G,H,I,J,K H,I,J,K I,J,K J,K K 空
25
§6.4 森林2
1、森林的后序遍历
若森林为空,则遍历结束; 若森林非空,则从左往右依次后序遍历森林中的每棵树,对结点
的访问顺序,即是对森林后序遍历的结点序列。 例子:以后序遍历方式访问如图所示的森林。
A C H
B
D
I
J
E
F
G
K
L
M
解: B-A-E-F-G-D-C-I-K-L-M-J-H
多个后继结点。
A
A B E F J C G H K D I L M
4
Φ
A
C G L
6.1.1 树的基本概念
1、树的基本概念3
有序树与无序树 如果树T中各子树从左至右按照一定此序排列,不
得互换,则称T是有序树(order tree),否则为无序树(unorder tree)。由此可知,二叉树是一种特殊的有序树,但不是一般树的特 例。
09
10 }
}
24
§6.4 森林
森林:若干棵树组成的集合
1、森林的先序遍历
若森林为空,遍历结束; 若森林非空,从左往右依次先序遍历森林中的每棵树,对结点的
访问顺序,即是对森林先序遍历的结点序列。
例子:以先序遍历方式访问如图所示的森林。
A C H
B
D
I
J
E
F
G
K
L
M
解: E-K-F-G-B-H-C-I-J-D-A
09
10 }
}
22
6.3.3 后序遍历
过程:
(1)若T为空,则遍历结束; (2)若T非空,则从左到右依次后序遍历根结点的各子树,然后访问
根结点。
例子:以后序遍历方式访问如图所示的二叉树。
A B C D
E
F K
G
H
I
J
解: E-K-F-G-B-H-C-I-J-D-A
23
6.3.3 后序遍历2
算法6-3 树的后序遍历递归算法
8
6.1.2 结点及其基本概念3
3、结点间关系描述
子结点:树T中一个结点N的所有直接后继,都被称作是该结点N 的子结点
父结点:树T中把一个结点称作是它所有后继结点的父结点
兄弟结点:在树T中,具有相同双亲的结点,互称为是兄弟结点 堂兄弟结点:在树T中,双亲在同一层的那些结点,互称为是堂兄
弟结点
子孙结点:一个结点的子树中的所有结点,都被称作是该结点的 子孙结点 祖先结点:从根结点到某个结点的路径上的所有分支结点,称为 该结点的祖先结点
}
20
6.3.2 先序遍历
过程:
(1)若T为空,遍历结束;
(2)若T非空,先访问T根结点,然后从左到右依次先序遍历访问根结点 的每棵子树。 例子:以先序遍历方式访问如图所示的二叉树。
A B C D
D
F K
-C-H-D-I-J
21
6.3.2 先序遍历2
算法6-2 树的先序遍历递归算法
6
6.1.2 结点及其基本概念
1、结点
结点的度:结点拥有的子树数目,即该结点的后继结点的个数
结点的深度(层次):结点位于树的层次数 树的度:一棵树中各结点度的最大值
树的深度:一棵树中各结点深度的最大值
结点间路径:从树中一个结点到另一个结点之间的分支 路径长度:一条路径上边即连接两个结点的线段的个数称为该
Data ChP1 ChP2 „ „ ChPm
数据域
指向第 1 个 孩子
指向第 2 个 孩子
指向第 m 个 孩子
这种子结点链式存储效率低下,通常不 直接采用上述方法。
11
6.2.2 子结点表示法存储
1、子结点链表存储法
① 将树T中结点按照层序进行排序。 ② 为树T中每个结点都设置一个单链表,该链表由该结点的所有子结点按照层序 进行链接。这样的链表也称为子结点链表。 ③ 将每个结点子结点链表的表头指针按照树T结点的层序集中起来组成数组Tr。
12
数组 Tr
6.2.2 子结点表示法存储2
2、子结点顺序表存储法
① 将树T的结点按照层序进行排序,组成数组Tr。 ② 对Tr中每个数组元素开辟Data域和m个子结点域:Child[1],Child[2],…, Child[m],这些子结点域分别记录每个结点的子结点信息。 下标 Data Chr[1] Chr[2 Chr[3 ③ 将数组Tr进行存储。
root
0 A B C D E F G H I J K 1 4 -1 6 -1 -1 8 -1 -1 -1 -1 ] 2 5 -1 7 -1 -1 9 -1 -1 -1 -1 ] 3 -1 -1 -1 -1 -1 10 -1 -1 -1 -1
相关文档
最新文档