数据结构精品教学(吉林大学)第4章 树1.pptVIP

数据结构精品教学(吉林大学)第4章 树1.ppt

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.1 树的基本概念 4.2 二叉树 4.3 线索二叉树 4.4 树和森林 4.5 压缩与哈夫曼树 4.6 应用 树结构在客观世界中大量存在,如家谱、行政组织机构等都可用树形象地表示。 [企业管理机构] 在层次中地位最高的人(此处为总裁)在图中位置最高。在层次中地位次之的(即副总裁)在图中位于总裁之下等等。副总裁为总裁的下属,总裁是他们的上级。每个副总裁都有自己的下属,而其下属又有自己的下属。 树在计算机领域也有广泛的应用,如: 在编译中,用树来表示源程序的语法结构; 在数据库系统中,可用树来组织信息; 在分析算法时,可用树来描述其执行过程; 操作系统中,文件及文件夹的存储,软件工程中,软件的菜单等都是树。 递归定义 定义4.1: 一个树(或树形)就是一个有限非空的结点集合T,其中: 有一个特别标出的被称为该树(或树形)之根root(T)的结点; 其余结点(根除外)被分成m ? 0 个不相交的集合T1,T2,…,Tm,且T1,T2,…,Tm又都是树(或树形)。树(或树形)T1,T2,…,Tm被称作root(T)的子树(或子树形)。 定义4.2 树是包含n ( n ≥ 1 )个结点且满足如下条件的有限集合: 存在一个唯一的结点v0,它没有前驱结点,称为树的根(或根结点); 任何非根结点都有且仅有一个前驱结点,称为该结点的父结点; 任何结点都可能有多个(? n?1)后继结点,称之为该结点的子结点;若某结点没有后继结点,则称之为叶结点。 任一非根结点vk都有且仅有一条从v0到该结点的结点序列(或曰路径)v0 ? v1 ?…? vk,其中vi是vi?1(1 ? i ? k)的子结点。 图4.1.1为一棵由根结点A出发的树,其中,A有三个子结点B、C和D;B有一个子结点E;E有一个子结点F;C有两个子结点G和H;D有一个子结点I; F,G,H,I是叶结点,因为它们没有子结点。 从A到F的路径为A-B-E-F。 树的相关术语 1.度 一个结点的子结点的数目,称为该结点的度或次数。一棵树的度为maxi=1,…, n D (i),其中n为树中结点总数,i指树中的第i个结点,D(i)表结点i的度。 2.叶结点、分支结点 度为0的结点被称为叶结点;度?0的结点被称为分支结点。 在图4.1.1中:B有一个子结点E,度为1;A有三个子结点B、C和D(换言之,A是B、C和D的父结点),度为3,故这棵树的度也为3 . 3.结点的层数 树形T中结点的层数递归定义如下: ⑴ root(T)层数为零; ⑵ 其余结点的层数为其前驱结点的层数加1 . 4.路径 树形中结点间的连线被称为边。若树形T中存在结点序列vm ? vm+1 ? … ? vm?k,1 ? k ? T的最大层数,满足vi+1是vi(m ? i ? m?k?1)的子结点,则称此结点序列为vm到vm?k的路径,该路径所经历的边数k被称为路径长度。 5. 子孙结点、祖先结点 一棵树中若存在结点vm到vn的路径,则称vn为vm的子孙结点,vm为vn的祖先结点。 不难看出,一个结点到它的某个子孙结点有且仅有一条路径。树中结点之间的父子关系具有如下特征: (1)树中任一结点都可以有零个或多个直接后继(即子结点),但至多只能有一个直接前驱(即父结点)。 (2)树中只有根结点无前驱,它是始结点;叶结点无后继,它们是终结点。 (3)树中某些结点之间具有父子关系或者祖先、子孙关系,祖先、子孙关系是对父子关系的扩展,一些结点之间,如兄弟结点(同一个父亲的诸子结点被称为兄弟结点)之间就没有这种关系。 6.树的高度 树的高度为maxi=1,…, n NL (i),其中n为树中结点总数,i指树中第i个结点,NL(i)之值为结点i的层数。 树的高度是指树中结点的最大层数。 与线性结构的比较 线性结构 树结构 第一个数据元素 根结点 (无前驱) (无前驱) 最后一个数据元素 多个叶子结点 (无后继) (无后继) 其它数据元素 树中其它结点 (一个前驱、一个后继) (一个前驱、多个后继) 树的特点: ① 有一个总根。 ② 没有分枝相交。 ③ 树有层次。 树的基本操作 1、创建树:CREATE_TREE(T) 2、判树空:TREEEMPTY(T) 3、求根:ROOT(T) 4、求树的高度:TREEDEPTH(T) 5、 求某结点的兄弟: BROTHERS(T) 6、求结点的双亲:PARENT(T) 7、求结点的孩子:CHILD(T,e,i) 8、遍历树:TRAVERSAL(T) 9、插入结点:INSERT() 10、删

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档