- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
01/06/2002 数据结构讲义 第七章 树与森林 ⒈教学内容:7.1 树的概念与表示 7.2 基本操作与存储 7.3 树、森林与二叉树的转换 7.4 树或森林的遍历 7.5 树的应用 ⒉教学目的:⑴ 深刻理解树的定义、术语; ⑵ 领会并掌握树的各种存储结构; ⑶ 熟练掌握森林与二叉树间的相互转换; ⑷ 领会树和森林的遍历; ⑸ 了解树的简单应用。 ⒊教学重点:⑴ 树的存储结构; ⑵ 森林与二叉树的转换。 ⒋教学难点:⑴ 森林与二叉树的转换; ⑵ 判定树; ⑶ 等价关系与等价类问题。 ⒌学时安排: 4学时 7.1 树的概念与表示 树的定义及相关术语 树的表示 7.1.1 树的定义及相关术语 1.树的定义 树(Tree)是n(n≥0)个有限数据元素的集合。当n=0时,称这棵树为空树。在一棵非树T中: ⑴有一个特殊的数据元素称为树的根结点,根结点没有前驱结点。 ⑵若n1,除根结点之外的其余数据元素被分成m(m0)个互不相交的集合T1,T2,…,Tm,其中每一个集合Ti(1≤i≤m)本身又是一棵树。树T1,T2,…,Tm称为这个根结点的子树。 可以看出,在树的定义中用了递归概念,即用树来定义树。因此,树结构的算法类同于二叉树结构的算法,也可以使用递归方法。 7.1.2 树的表示 树的表示方法有四种,各用于不同的目的。 1.直观表示法 树的直观表示法就是以倒着的分支树的形式表示,下图就是一棵树的直观表示。其特点就是对树的逻辑结构的描述非常直观。是数据结构中最常用的树的描述方法。 7.2 树的基本操作与存储 树的基本操作 树的存储结构 7.2.1 树的基本操作 树的基本操作通常有以下几种: ⑴Initiate(t)初始化一棵空树t。 ⑵Root(x)求结点x所在树的根结点。 ⑶Parent(t,x)求树t中结点x的双亲结点。 ⑷Child(t,x,i)求树t中结点x的第i个孩子结点。 ⑸RightSibling(t,x)求树t中结点x的第一个右边兄弟结点。 ⑹Insert(t,x,i,s)把以s为根结点的树插入到树t中作为结点x的第i棵子树。 ⑺Delete(t,x,i)在树t中删除结点x的第i棵子树。 ⑻Tranverse(t)是树的遍历操作,即按某种方式访问树t中的每个结点,且使每个结点只被访问一次。 7.2.2 树的存储结构 1.双亲表示法 由树的定义可以知道,树中的每个结点都有唯一的一个双亲结点,根据这一特性,可用一组连续的存储空间(一维数组)存储树中的各个结点,数组中的一个元素表示树中的一个结点,数组元素为结构体类型,其中包括结点本身的信息以及结点的双亲结点在数组中的序号,树的这种存储方法称为双亲表示法。其存储表示可描述为: #define MAXNODE 树中结点的最大个数 typedef struct { elemtype data; int parent; }NodeType; NodeType t[MAXNODE]; 7.3 树、森林与二叉树的转换 树转换为二叉树 森林转换为二叉树 二叉树转换为树和森林 7.3.1 树转换为二叉树 将一棵树转换为二叉树的方法是: ⑴树中所有相邻兄弟之间加一条连线。 ⑵对树中的每个结点,只保留它与第一个孩子结点 之间的连线,删去它与其它孩子结点之间的连线。 ⑶以树的根结点为轴心,将整棵树顺时针转动一定 的角度,使之结构层次分明。 由上面的转换可以看出,在二叉树中,左分支上的各结点在原来的树中是父子关系,而右分支上的各结点在原来的树中是兄弟关系。由于树的根结点没有兄弟,所以变换后的二叉树的根结点的右孩子必为空。 7.3.2 森林转换为二叉树 由森林的概念可知,森林是若干棵树的集合,只要将森林中各棵树的根视为兄弟,森林同样可以用二叉树表示。 森林转换为二叉树的方法如下: ⑴将森林中的每棵树转换成相应的二叉树。 ⑵第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树根结点的右孩子,当所有二叉树连起来后,此时所得到的二叉树就是由森林转换得到的二叉树。 7.3.3 二叉树转换为树和森林 树和森林都可以转换为二
您可能关注的文档
- 安徽财经大学财务管理学课件第三章 基本财务估值模型.ppt
- 安徽财经大学财务管理学课件第十五章 财务分析.ppt
- 安徽财经大学法学院宪法学课件第二章 宪法的历史发展.ppt
- 安徽财经大学法学院宪法学课件第十六章 选举制度.ppt
- 安徽财经大学法学院宪法学课件第十七章 国家机构.ppt
- 安徽财经大学法学院宪法学课件第十三章 国家形式-下.ppt
- 安徽财经大学法学院宪法学课件第十四-十五章 公民的基本权利和义务.ppt
- 安徽财经大学法学院宪法学课件第一章 宪法的概念.ppt
- 安徽财经大学管理信息系统课件第三章 管理信息系统的技术基础.ppt
- 安徽财经大学管理学院企业战略管理课件:第六章 企业总体战略.ppt
- 安徽科技学院数据结构课件第三章 栈和队列.ppt
- 安徽科技学院数据结构课件第十章 排序.ppt
- 安徽科技学院数据结构课件第五章 数组和广义表.ppt
- 安徽理工大学混凝土结构设计原理课件第二章 混凝土结构材料的物理力学性能.ppt
- 安徽理工大学混凝土结构设计原理课件第九章 混凝土构件的变形几裂缝宽度验算.ppt
- 安徽理工大学混凝土结构设计原理课件第六章 受压构件的截面承载力.ppt
- 安徽理工大学混凝土结构设计原理课件第四章 受弯构件的正截面受弯承载力.ppt
- 安徽理工大学混凝土结构设计原理课件第五章 受弯构件的斜截面承载力.ppt
- 安徽理工大学计算机网络课件第1章 概述.ppt
- 安徽理工大学计算机网络课件第2章 物理层.ppt
最近下载
- 正弦(SINEE)SINE003变频器说明书用户手册.pdf
- 小学道德与法治建立良好的公共秩序第一课时优质课公开课课件.pptx
- 2024 年度民主生活会“四个对照”方面(存在问题、原因剖析及整改措施).docx VIP
- 18.海市蜃楼课件.ppt
- 贵州省贵阳市2022-2023学年七年级下学期期末语文试题(含答案).pdf
- 牟宗三的朱子思想的分析述评__--__以《心体和性体》为中心.pdf
- 计算机基础与程序设计.doc VIP
- 水泵试车记录.xls VIP
- 2019版 冀教版 高中体育与健康 必修 全一册 第4篇 体育文化修养《第一章 体育与文化》大单元整体教学设计[2020课标].docx
- 餐饮企业4D管理细则图文.pdf
文档评论(0)