- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 6 章 树和二叉树
本章学习要点
◆熟悉树的递归定义、相关术语以及基本概念
◆熟悉二叉树的递归定义、二叉树的有关术语以及基本概念
◆掌握二叉树的基本性质以及相应的证明方法
◆了解二叉树的两种存储结构、各种存储方法的特点和适用范围
◆熟练掌握二叉树的各种遍历算法,能通过应用二叉树的遍历操作实现二叉树的其它基本操作
◆了解线索二叉树的实质和目的,掌握在中序线索化的二叉树中,查找给定结点的前驱和后继的方法
◆掌握树、森林与二叉树之间的关系和转换方法
◆掌握树的各种存储结构的特点、适应范围以及树和森林的遍历算法
树型结构是一种应用非常广泛的非线性结构,其中以二叉树最为常用。树型结构反映了元素之间
的层次关系和分支关系,它非常类似于自然界中的树。树型结构在电脑领域中广泛应用。比方,在电
脑操作系统中对文件的目录管理就是采用树型结构;在编译程序中,使用树来表示程序的语法结构;
在数据库系统中,树型结构也是信息的重要组织形式之一。
本章将详细讨论二叉树的逻辑结构、各种存储结构及其基本操作的实现,研究树、森林和二叉树
之间的转换关系,最后介绍一个二叉树的应用实例 ____Huffman 树及其应用。
6.1 树的定义和基本术语
6.1.1 树的定义
树 T 〔Tree 〕是 n(n=0) 个数据元素〔结点〕的有限集合 D ,如果 D 为空集,则称 T 为 空树 ;否
则有下面的定义:
〔1 〕在 D 中有且仅有一个特定的结点,称为 根结点 ;
〔2 〕当 n1 时,其余的结点可分成 m(m0) 个互不相交的有限集: T 1 2 m
,T ,…,T ,期中每个集合又都是
一棵树,并称它们为树 T 的根结点的 子树 。
树是以递归的方式来定义的,即在表达树的定义的过程中又用到了树的概念。树的这种递归定义
方式反映了树型结构的层次特性。直观地讲,树是由根结点和假设干棵子树组成,其中的每棵子树又
都是由一个根结点和它自己的假设干棵子树组成,依此类推。
例如, 图 6.1 是用 图形表示法 表示的一棵树 T 。根据树的定义, T 的数据元素集合 D 中一共包含有
1 2 3
10 个结点: D={A,B,C,D,E,F,G,H,I,J} ,其中结点 A 为 T 的根结点。根结点 A 有三棵子树 T ,T ,T ,子
树的根结点分别为 B、C、D 均为 A 的孩子结点,每棵子树中所含数据元素的集合分别为 D1、D2 、D3 ,
1 2 3
它们互不相交且为: D ={B,E,F},D ={C,G} 和 D ={D,H,I} 。
树的表示方法还有 广义表表示法 、集合表示法 和 凹入表示法 等。图 6.2 分别给出图 6.1 中所表示
的树 T 的其它三种表示方法。
6.1.2 树结构中的基本术语
〔1 〕结点〔 Node 〕树的结点包含一个数据元素以及假设干个指向其子树的分支指针。
〔2 〕结点的度〔 Degree 〕结点所拥有的子树个数称为该结点的度。
例如,在图 6.1 所示的树 T 中,度为零的结点有 E 、F、G、H 、 I、J,度为 1 的结点有 C,度为 2
的结点有 B ,度为 3 的结点有 A 、B 。
〔3 〕叶子结点〔 Leaf 〕度为 0 的结点称为叶结点或终端结点。
例如,树 T 中,其叶结点为 E、F、G、H 、 I、J。
〔4 〕分支结点〔 Offshoot-Node 〕度不为 0 的结点称为分支结点或非终端结点。
例如,树 T 中,分支结点有 A 、B 、C 、D 。
〔5 〕树的度〔 Tree-D
文档评论(0)