- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二叉树 二叉树 遍历 递归 线性结构和非线性结构 线性结构: 结构中的数据元素之间存在一对一的关系。 我们前面学的数据结构(向量、列表、堆栈、队列等)都是线性结构。 非线性结构: 树形:结构中数据元素之间存在一对多的关系。 图形:结构中数据元素之间存在多对多的关系。 树的概述 树形结构是一类非常重要的非线性结构,它可以很好地描述客观世界中广泛存在的具有分支关系或层次特性的对象。 因此在计算机领域里有着广泛应用。如: 操作系统中的文件管理 编译程序中的语法结构 数据库系统信息组织形式 数据的逻辑结构可描述为: Group=(D,R) D={A,B,C,D,E,F,G,H,I,J} R={(A,B),(A,C),(A,D),(B,E),(B,F),(D,G),(D,H),(F,I),(F,J)} 树的定义1 树的逻辑结构可以这样描述:树是包含n(n0)个结点的有穷集合K( k0 、 k1 、...、kn-2 、 kn-1 ),且在K上定义了一个关系N,关系N满足以下条件: 有且仅有一个结点k0∈K,它对于关系N来说没有前驱结点。k0称作树的根。 除结点外k0 , K中的每一个结点对于关系N来说都有且仅有一个直接前驱结点;有零个或多个直接后继结点。 树的定义2 一颗大树分成几个大的分枝(称作子树),每个大分枝再分成几个小分枝,小分枝再分成更小的分枝,… ,每个分枝也都是一颗树,由此我们可以给出树的递归定义。 树的逻辑结构可以这样描述:树是包含n(n0)个结点的有穷集合T,使得: 有一个特别标出的称作根的结点。 除根以外的其他结点被分成m (m≥0)个不相交的集合T1, T2 ,… , Tm ,而且这些集合的每一个又都是树。树T1, T2 ,… , Tm称作这个根的子树。 树的相关术语 度:一个结点的子树的个数称为该结点的度。一棵树的度是指该树中结点的最大度数。 树中度为零的结点称为叶结点(或终端结点)。 树中度不为零的结点称为分枝结点(或非终端结点)。除根结点外的分枝结点统称为内部结点。 树的相关术语 结点的子树的根称为该结点的孩子结点,相应地,该结点称为孩子的双亲结点。 如果存在树中的一个结点序列K1,K2,... ,Kj,使得结点Ki是结点Ki+1的双亲结点(1≤i≤j-1),则称该结点序列是树中从结点K1到结点Kj的一条路径。我们把路径所经过的边(即连接两个结点的线段)的数目称作这条路径的长度。 如果在树中存在一条从结点K到结点M的路径,则称结点K是结点M的祖先结点,也称结点M是结点K的子孙结点。 注意,任一结点既是它自己的祖先也是它自己的子孙。 树的相关术语 树中一个结点的高度是指:从该结点到作为它的子孙的各叶结点的最长路径的长度。树的高度是指根结点的高度。 从树根到任一结点n有唯一的一条路径,我们称这条路径的长度为结点n的深度或层数。根结点的深度为0,其余结点的深度为其双亲结点的深度加1。深度相同的结点属于同一层。 树的相关术语 树的定义在某些结点之间确定了父子关系,我们又将这种关系延拓为祖先子孙关系。 但是树中的许多结点之间仍然没有这种关系。例如兄弟(同一个双亲的孩子称为兄弟)结点之间就没有祖先子孙关系。 如果我们在树的每一组兄弟结点之间定义一个从左到右的次序(即不能互换),则得到一棵有序树;否则称为无序树。 设结点n的所有儿子按其从左到右的次序排列为:n1,n2,… ,nk,则我们称n1是n的最左儿子,或简称左儿子,并称ni是ni-1的右邻兄弟,或简称右兄弟(i=2,3,..k)。 二叉树的定义 二叉树(BinaryTree)是n(n≥0)个结点的有限集合,它或者是空集(n=0),或者由一个根结点及两棵互不相交的、分别称作这个根的左子树和右子树的二叉树组成。 二叉树不是树的特例 二叉树与无序树不同: 二叉树中,每个结点最多只能有两棵子树,且有左右之分。 树不能为空,但二叉树可以为空,因此二叉树并非是树的特殊情形,它们是两种不同的数据结构。 二叉树与度数为2的有序树不同: 在有序树中,虽然一个结点的孩子之间是有左右次序的,但是若该结点只有一个孩子,就无须区分其左右次序。 而在二叉树中,即使是一个孩子也有左右之分。 二叉树的性质 性质1:二叉树第i层上的结点数目最多为2i(i≥0)。 性质2:深度为k的二叉树至多有2k+1-1个结点(k≥0)。 满二叉树(FullBinaryTree) 一棵深度为k且有2k+1-1个结点的二又树称为满二叉树。 满二叉树的特点:(1) 每一层上的结点数都达到最大值。即对给定的深度,它是具有最多结点数的二叉树。(2) 满二叉树中不存在度数为1的结点,每个分支结点均有两棵高度相同的子树,且树叶都在最下一层上。 完全二叉树(Complete BinaryTree) 若一棵二叉树
您可能关注的文档
最近下载
- 移动式升降平台安全管理.pptx VIP
- JMP中文版使用指南.pdf VIP
- 供应商供货能力评估方法.docx VIP
- 外研版(2019) 选择性必修第四册 Unit 4 Everyday Economics Using language教案.docx VIP
- 2025年中国AI智能硬件行业市场竞争现状及未来前景研判报告.docx
- 国开一体化平台04037《人体解剖生理学(本)》章节自测(1-11)试题及答案.pdf VIP
- 思迅专卖店管理系统8特色介绍.ppt VIP
- 培智二年级生活语文第二学期教学计划.docx VIP
- 小公司财务管理制度简单版(二篇).doc VIP
- 高中英语词汇3500词(必背)-高中英语必备3500词汇表.pdf VIP
文档评论(0)