- 1、本文档共260页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构第搬二部分
第二部分 树 树形结构式处理具有层次关系的数据元素 这部分将介绍 树 二叉树 堆 第五章 树 树的概念 二叉树 表达式树 哈夫曼树与哈夫曼编码 树和森林 树的概念 树的定义 树的术语 树的运算 树的定义 树是n (n≥1) 个结点的有限集合T,并且满足: 树的概念 树的定义 树的术语 树的运算 根结点、叶结点、内部节点 结点的度和树的度 儿子结点 父亲结点 兄弟结点 祖先结点 子孙结点 结点所处层次 树的高度 树的概念 树的定义 树的术语 树的运算 树的常用操作 建树create():创建一棵空树; 清空clear():删除树中的所有结点; 判空IsEmpty():判别是否为空树; 找根结点root():找出树的根结点。如果树是空树,则返回一个特殊的标记; 找父结点parent(x):找出结点x的父结点; 找子结点child(x,i):找结点x的第i个子结点; 剪枝delete(x,i):删除结点x的第i棵子树; 构建一棵树MakeTree(x,T1, T2, ……,Tn):构建一棵以x为根结点,以T1, T2, ……,Tn为第i棵子树的树; 遍历traverse():访问树上的每一个结点。 第五章 树 树的概念 二叉树 表达式树 哈夫曼树与哈夫曼编码 树和森林 二叉树 二叉树的概念 二叉树的性质 二叉树的基本运算 二叉树的遍历 二叉树的实现 二叉树类 二叉树遍历的非递归实现 二叉树的定义 二叉树(Binary Tree)是结点的有限集合,它或者为空,或者由一个根结点及两棵互不相交的左、右子树构成,而其左、右子树又都是二叉树。 二叉树的基本形态 结点总数为3 的所有二叉树的不同形状 满二叉树 一棵高度为k并具有2k-1个结点的二叉树称为满二叉树。 一棵二叉树中任意一层的结点个数都达到了最大值 完全二叉树 在满二叉树的最底层自右至左依次(注意:不能跳过任何一个结点)去掉若干个结点得到的二叉树也被称之为完全二叉树。满二叉树一定是完全二叉树,但完全二叉树不一定是满二叉树。 完全二叉树的特点是: (1)所有的叶结点都出现在最低的两层上。 (2)对任一结点,如果其右子树的高度为k,则其左子树的高度为k或k+1。 二叉树 二叉树的概念 二叉树的性质 二叉树的基本运算 二叉树的遍历 二叉树的实现 二叉树类 二叉树遍历的非递归实现 二叉树的性质1 二叉树的性质2 二叉树的性质3 对于一棵非空二叉树,如果叶子结点数为n0,度数为2的结点数为n2,则有: n0=n2+1 成立。 二叉树的性质4 具有n个结点的完全二叉树的高度 k = ?log2n? + 1 二叉树的性质5 如果对一棵有n个结点的完全二叉树中的结点按层自上而下(从第1层到第 ?log2n? +1层),每一层按自左至右依次编号。若设根结点的编号为1。则对任一编号为i的结点(1≤i≤n),有: (1)如果i=1,则该结点是二叉树的根结点;如果i1,则其父亲结点的编号为?i/2? 。 (2)如果2i n,则编号为i的结点为叶子结点,没有儿子;否则,其左儿子的编号为2i。 (3)如果2i + 1 n,则编号为i的结点无右儿子;否则,其右儿子的编号为2i+1。 二叉树 二叉树的概念 二叉树的性质 二叉树的基本运算 二叉树的遍历 二叉树的实现 二叉树类 二叉树遍历的非递归实现 二叉树常用操作 建树create():创建一棵空的二叉树; 清空clear():删除二叉树中的所有结点; 判空IsEmpty():判别二叉树是否为空树; 找根结点root():找出二叉树的根结点。 找父结点parent(x):找出结点x的父结点; 找左孩子lchild(x):找结点x的左孩子结点; 找右孩子rchild(x):找结点x的右孩子结点; 删除左子树delLeft(x):删除结点x的左子树; 删除右子树delRight(x):删除结点x的右子树; 构建一棵树MakeTree(x,TL, TR):构建一棵以x为根结点,以TL, TR为左右子树的二叉树; 遍历traverse():访问二叉树上的每一个结点。 二叉树 二叉树的概念 二叉树的性质 二叉树的基本运算 二叉树的遍历 二叉树的实现 二叉树类 二叉树遍历的非递归实现 二叉树的遍历 二叉树的遍历讨论的是如何访问到树上的每一个结点 在线性表中,我们可以沿着后继链访问到所有结点。而二叉树是有分叉的,因此在分叉处必须确定下一个要访问的节点:是根结点、左结点还是右结点 根据不同的选择,有三种遍历的方法:前序、中序和后序 前序遍历 如果二叉树为空,则操作为空 否则 访问根结点 前序遍历左子树 前序遍历右子树 中序遍历 如果二叉树为空,则操作为空 否则 中序遍历左子树 访问根结点 中序遍历右子树 后序遍历 如果二叉树为
您可能关注的文档
- 食物在胃肠笔内消化.ppt
- 食物中毒应罕急处理讲座.ppt
- 食物在口腔制里的变化.ppt
- 食用菌制种殿的设施与用品.ppt
- 食用香精调成配基础.ppt
- 食源性疾病与奖食物中的控制预防-营养师1.ppt
- 世博园场家馆介绍.ppt
- 示范教学查瓶房copd.ppt
- 世界500强人力资源水管理--绩效管理培训教程课件.ppt
- 世纪天使推一动分享.ppt
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
最近下载
- 区域地理主题探究10拉丁美洲和巴西.pptx
- 部编版三年级下册课外阅读理解专项练习10篇附答案(可下载打印).docx VIP
- 油田开发管理纲要.pdf
- 2024年湖南省中考作文“只有走出第一步,才知道自己能走多远”导写+范文6篇.docx
- 《中华人民共和国保守国家秘密法》培训解读课件.pptx VIP
- 重庆市山坪塘整治质量管理技术手册.doc
- Powermax鲍麦克斯AHE58 59-HMI12 三代一体机中文说明书(386P0149C)用户手册.pdf
- 医学试题《先天性心脏病》考试题库无答案(一).doc VIP
- 4.2《动物的食物》大单元教学课件 大象版科学五年级下册.pptx
- 滑坡和泥石流-完整版课件课件.pptx
文档评论(0)