计算机软件技术基础第2章-3.pptx

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

计算机软件技术基础高路1第2章基本数据结构及其运算2.4线性表的索引存储结构2.5数组2.6树与二叉树2.7图22.6树与二叉树2.6.1树的基本概念2.6.2二叉树及其基本性质2.6.3二叉树的遍历2.6.4二叉树的存储结构2.6.5二叉树的基本运算及其实现2.6.6二叉树的构造2.6.7穿线二叉树2.6.8哈夫曼树342.6树与二叉树线性结构中,不管其存储结构如何,数据元素的逻辑位置之间呈线性关系,每一个数据元素通常只有一个前件和一个后件(第一个元素无前件,最后一个元素无后件)。有些问题,数据元素之间的逻辑关系不能用线性结构明确、方便地描述出来。例如,一张普通的书目分类单。52.6树与二叉树6非线性结构:至少存在一个结点(数据元素)有多于一个前件或后件的数据结构。树结构:每一个结点可能有多个后件,但它们的前件却只有一个(第一个结点无前件)。树结构表示了数据元素之间的层次关系。2.6树与二叉树72.6.1树的基本概念树(tree)是一种常见的非线性数据结构。树(Tree)的递归定义:树是n(n≥0)个结点的有限集。如果n=0,称为空树;如果n0,则有且仅有一个特定的称之为根(Root)的结点,它只有直接后继(后件),但没有直接前驱(前件);当n1,除根以外的其它结点划分为m(m0)个互不相交的有限集T1,T2,…,Tm,其中每个集合本身又是一棵树,并且称为根的子树(SubTree)。树的表示树形表示法。这是树的最基本的表示,使用一棵倒置的树表示树结构,非常直观和形象。82.6.1树的基本概念文氏图表示法。使用集合以及集合的包含关系描述树结构。下图就是树的文氏图表示法。92.6.1树的基本概念凹入表示法。使用线段的伸缩描述树结构。下图是树的凹入表示法102.6.1树的基本概念括号表示法。将树的根结点写在括号的左边,除根结点之外的其余结点写在括号中并用逗号间隔来描述树结构。下图是树的括号表示法。112.6.1树的基本概念12根结点子树T12.6.1树的基本概念13村的相关术语结点的度(degree):结点拥有子树数。叶结点(leaf):又称为终端结点。度为0的结点。内部结点:除了根结点与叶子结点以外的所有结点。树的度:树内各结点的最大值。2.6.1树的基本概念14孩子(child):结点的子树的根称为该结点的孩子。双亲(parent):相应的该结点为其孩子的双亲结点。兄弟(sibling):同一个双亲的孩子之间互称兄弟。祖先(ancestor):从根到该结点所经分支上的所有结点。2.6.1树的基本概念15子孙(descendant):以某结点为根的子树中的任一结点都称为该结点的子孙。结点层次(level):从根开始定义起,根为第一层,根的孩子为第二层。若某结点在第h层,则其子树的根就在第h+1层。树的深度(高度):树中结点的最大层次称为树的深度或高度。有序树/无序树:如果将树中结点的各子树看成从左至右是有次序的(即不能互换),则称该树为有序树,否则成为无序树。2.6.1树的基本概念路径:对于任意两个结点ki和kj,若树中存在一个结点序列ki,ki1,ki2,…,kin,kj,使得序列中除ki外的任一结点都是其在序列中的前一个结点的后继,则称该结点序列为由ki到kj的一条路径,用路径所通过的结点序列(ki,ki1,ki2,…,kj)表示这条路径。路径的长度:等于路径所通过的结点数目减1(即路径上分支数目)。可见,路径就是从ki出发“自上而下”到达kj所通过的树中结点序列。显然,从树的根结点到树中其余结点均存在一条路径。162.6.1树的基本概念17树的基本特点有一个唯一没有前件(父结点)的结点,称为根。除了根结点以外,每一个结点都有唯一的前件。除了根结点以外,每一个结点都通过唯一的途径连到根上。这个途径由根开始,末端就在该结点上,且除根以外,每一个结点都是此途径上的前一个结点的后件(子结点)。2.6.1树的基本概念182.6.1树的基本概念算术表达式的树结构表示在一个算术表达式中,有运算符和运算对象。举例:运算符的分类:单目运算符、双目运算符、三目运算符、…、多目运算符。19利用有序树可以很方便地表示一个表达式。规则如下:表达式中的运算符为有序树的根结点或内部结点;每一运算符的所有运算对象为该运算符结点的子树;所有单变量为叶子结点。2.6.1树的基本概念xx2.6.1树的基本概念一个表达式的有序树可能不是唯一的212.6.1树的基本概念树的存储方式孩子链存储结构多重链表中的每一个结点描述了树中对应的结点;每个结点的链域数随树中该结点的度而定。由于树中每个结点的度一般是不相同的,所以多重链表中各个结点的链域个数是不相同的。简化方法:取树的度数作为每个结点的链域个数。22如果用定长结点表示树中的每一个结点,则在一棵具有n个结点且度为k

文档评论(0)

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

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

1亿VIP精品文档

相关文档