第4单元非线性数据结构树二叉树主讲刘志强.ppt

第4单元非线性数据结构树二叉树主讲刘志强.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4单元非线性数据结构树二叉树主讲刘志强

LZQ@CEEC 思考问题 数据间不是一一对应的数据结构如何描述?在计算机中存放?例如“父子关系”、“隶属关系”等。 “树型”结构如何描述和存放? 如何在“树型”结构的基础上进行操作(增、删、查询等)? 什么是“二叉树”?为什么采用二叉树?树和二叉树能够相互转换吗? 教学目标 了解树、二叉树: 基本概念 逻辑结构 存储结构及实现 遍历算法 特殊二叉树的表示及性质 教学要求 通过本单元的学习,了解、掌握: 树、二叉树的基本概念 树、二叉树的存储结构及实现 二叉树的遍历操作及有关算法 特殊二叉树的表示及性质 树、森林、二叉树的转换 本单元涉及的内容 第3章 3.1、树形结构及基本概念 3.2、二叉树 3.3、二叉树的遍历 3.4、树、森林与二叉树的转换 (P81~P90) 一、树型结构及其基本概念 基本概念包括: 树的定义 树的基本术语 结点、根、叶、路径、结点度、树的度 结点的层次、子结点、父结点 有序、无序 树形结构 树形结构是以分支关系来定义的层次结构。在客观世界中树形结构广泛存在,并应用于: 人类社会的族谱、家谱、行政区域划分管理; 各种社会组织机构; 在计算机领域中,用树表示源程序的语法结构; 在OS中,文件系统、目录等组织结构也是用树来表示的。 树的逻辑结构 树是一种数据结构,可用二元组表示为: Tree=(D,R) 其中: D 是具有相同特性的数据元素的集合; R 是数据元素间逻辑关系的集合,且满足: 在D中存在唯一的称为根的数据元素,没有前趋; D中其余数据元素都有且只有一个前趋; D中所有元素,或有若干个互不相同的后继(子树),或无后继(叶结点); 则称Tree为树。 树的定义 树是一个或多个结点组成的有限集合T,有一个特定结点称为根,其余结点分为m(m?0)个互不相交的集合T1,T2,…,Tm。且每个集合又是一棵树,它们称为这个根的子树。 这是树的递归定义,表示了树的一种固有的特性。 树结构举例 书目录 目录树 树结构 C1(章) BOOK ? 1.1(节) 1.2 C1 C2 C3 ? ? ? C2 2.1 1.1 1.2 2.1 2.2 2.3 ? ? ? ? ? 2.11 2.12 2.2 2.1.1 2.1.2 ? ? 2.3 C3 树的表示形式 (1) 一般形式 (2) 嵌套形式 (3) 凹入形式 (4) 广义表形式 树的表示(一般形式) 树的表示(嵌套形式) 树的表示(缩进形式) A B E 树的表示(广义表形式) ( A ( B ( E (K,L),F),C(G),D( H (M),I,J ))) 基本术语 结点、结点度、根、支、叶结点 子结点、父结点、兄弟结点 树的度、路径、长度、高度、深度 森林、有序、无序 结点(Node) 结点 包括一个数据元素及若干个指向其它子树的分支;例如,A,B,C,D等。 根结点 无前趋结点(或无父结点)的结点;例如,A结点。 结点度 结点拥有的子结点个数。如A的结点度为3。 支结点 度不为0的结点为支结点。如B,C,D等。 叶结点 无后继结点为叶。如K,L,M。 树的度 树中结点的最大度数;上述树的度为3。 基本术语(二) 子结点 某结点子树的根为该结点的子结点;例如,结点A的子结点为B,C,D。 父结点 相对于某结点子树的根,称该结点为子树根的父结点;例如子结点C,B,D的父结点为A。 兄弟结点 同一父亲的孩子之间互为兄弟结点(Sibling);H,I,J互为兄弟。 路径 结点的序列n1,n2,…,nk(K?1)是一条路径. 阶层(层次) 结点的特性值,根结点的阶层为1,子结点为2,依次类推。如阶层1有结点A,阶层2有结点B,C,D。 基本术语(三) 高度(深度)一棵树的最大阶层值为树的高度或深度。例如,结点A到M的高度为4。 森林 0棵或多棵互不相交的树的集合。对树中每个结点而言,其子树的集合即为森林。 祖先 由某结点到根结点之路径上的所有结点均为该结点的祖先。如G祖先为A和C。 有序 如果将树中结点的各子树看成从左至右是有顺序的(即不能互换),则称该树为 有序树。否则,称为无序树。 树的操作 SETNULL(T) 置T为空树 PARENT(T,n) 得到树T中n的双亲结点; ROOT( n) 树中结点n的根,返回树根的位置。 CHILD(T,x,i)求树T中结点x的第i个孩

文档评论(0)

zhuwo + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档