- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 88
PAGE
PAGE 88
第7章 树和森林
树形结构是一类重要的非线性结构。树形结构的特点是结点之间具有层次关系。本章介绍树的定义、存储结构、树的遍历方法、树和森林与二叉树之间的转换以及树的应用等内容。
重点提示:
树的存储结构
树的遍历
树和森林与二叉树之间的转换
7-1 重点难点指导
7-1-1 相关术语
1.树的定义:树是n(n=0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件:①有且仅有一个特定的称为根的结点;②其余的结点可分为m(m=0)个互不相交的子集T1,T2,…,Tm,其中每个子集本身又是一棵树,并称为根的子树。
要点:树是一种递归的数据结构。
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所示的树为例。
a
a
cdb
c
d
b
higfe
h
i
g
f
e
图
图7-1 一棵深度为3的树
PAGE
PAGE 2
PAGE
PAGE 1
(1)存储思想:因为树中每个元素的双亲是惟一的,因此对每个元素,将其值和一个指向双亲的指针parent构成一个元素的结点,再将这些结点存储在向量中。
(2)存储示意图:
0 1 2 3 4 5 6 7 8 9 MaxTreeSize-1
data:
a
b
c
d
e
f
g
h
i
…
parent:
-1
0
0
0
1
1
2
3
3
…
(3)注意: Parrent域存储其双亲结点的存储下标,而不是存放结点值。
下面的存储是不正确的:
0 1 2 3 4 5 6 7 8 9 MaxTreeSize-1
data:
a
b
c
d
e
f
g
h
i
…
parent:
-1
a
a
a
b
b
c
d
d
…
2.孩子链表表示法
(1)存储思想:
将每个数据元素的孩子拉成一个链表,链表的头指针与该元素的值存储为一个结点,树中各结点顺序存储起来,一般根结点的存储号为0。
(2)存储示意图:
2
2 ∧ ∧
1 ∧ ∧
0
A
3 ∧
3 ∧ ∧ ∧
1
B
4 ∧ ∧
5 ∧ ∧ ∧
2
C
6 ∧ ∧ ∧
3
D
7 ∧ ∧
8 ∧ ∧ ∧
4
E
∧
5
F
∧
6
G
∧
7
H
∧
8
I
∧
图7-2 孩子链表存储示意图
(3)需注意的问题:
① 每个结点的孩子结点的child域存放该孩子的存储序号,而不是存放其结点的值。
② 孩子链表的最后一个结点的next域置入空指针。
③ 叶子结点的firstchild域也要置入空指针。
3.双亲-孩子兄弟链表表示法
将双亲表示和孩子兄弟链表表示法结合起来。
4.孩子兄弟链表表示法
(1)存储思想是:树中每个数据元素存储为一个结点,结点的结构如下:
leftmostchild
data
rightsilling
其中:data为该数据元素的信息;
leftmostchild为该元素第一个孩子的指针;
rightsilling 为该元素右兄弟的指针。
(2)存储示意图:
a ∧
b
∧ g ∧
∧ f ∧
c
d ∧
∧ e
∧ i ∧
∧ h
图7-3 孩子-双亲链表存储示意图
7-1-3 树的基本运算
1.树的遍历
(1)先根遍历:若树T非空,则:
① 访问根结点R;
② 依次先根遍历根R的各个子树T1、T2、…、Tk。
(2)后根遍历:若树T非空,则:
① 依次后根遍历根R的各个子树T1、T2、…、Tk;
② 访问根结点R。
2.森林的遍历
(1)前序遍历:若森林F非空,则
① 访问森林中第一
您可能关注的文档
- 部编教材金木水火土.pptx
- 重庆市南开中学.doc
- 2019-2020年北师大版数学选修2-2讲义:第1章+§1+1.2 类比推理及答案.doc
- 2020版政 治高考新素养总复习江苏专用讲义:必修四+第二单元+第五课+把握思维的奥妙和答案.doc
- 浙教版 信息技术 九年级 第六课 分支结构 教案设计.docx
- 2019年江苏省初一英语上译林版Unit3综合检测(Word版无答案).doc
- 信息技术教案设计范例.doc
- 【高职高考的专业】首饰设计和工艺.docx
- 2019-2020同步北师历史必修三新突破讲义:第8单元+第22课 多姿多彩的世界文学和答案.doc
- 山西省忻州市第一中学高中语文人教版选修《中国古代诗歌散文欣赏》预习学案设计:子路、曾皙、冉有、公西华侍坐.doc
- 内蒙古开鲁县蒙古族中学2018-2019年高一第3周周测生物试题+Word版缺答案.doc
- 2019-2020年北师大版数学必修二:第1章+§5+5.2+平行关系的性质及答案.doc
- 七年级数学上第一次质量检测.doc
- 2019-2020湘教版七年级地理(上)第二章地球的面貌自主学习提纲.doc
- 2020版物理高考新素养总复习鲁科版讲义:选修3-2+第十章+电磁感应+从教材走向高考和答案.doc
- 六年级数学经济专题上.docx
- 川教版八年级信息技术上册课程教学设计:第六课 综合运用.docx
- 2019-2020年苏教版生物必修一课时分层作业9 细胞核 细胞的生物膜系统.doc
- 投资篇:货币时间价值.ppt
- 新概念三册课件 lesson15(共34页).ppt
原创力文档


文档评论(0)