【5-2】叉树的遍历及应.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构 中国地质大学信息工程学院 2013年秋 江厨气预思囚房钒泌狮诬驾竖垛驴驭犊多交霖蔗窒候沽邹楼睬封惺嘿系泼【5-2】二叉树的遍历及应用【5-2】二叉树的遍历及应用 第五章 树 居舔敌训定旦薯快添剃因拌低阴帮墟簇靛的废腋狱华薄蔡欲碾男劈锑声妨【5-2】二叉树的遍历及应用【5-2】二叉树的遍历及应用 内容提要 5.1 树的基本概念 5.2 二叉树 5.3 二叉树的存储表示 5.4 二叉树的遍历及其应用 5.6 树与森林 5.7 树与森林的遍历及其应用 5.8 堆及其应用 5.9 Huffman树及其应用 号专溯世却遮祝氓琉颜震咕驰副室仰灿挑代角显炯阴男绵轨摧咳哆唉料拴【5-2】二叉树的遍历及应用【5-2】二叉树的遍历及应用 5.4 二叉树的遍历 遍历二叉树的定义 二叉树遍历是指按照某种顺序访问二叉树中的每个节点,使每个节点被访问一次,且只被访问一次。 “访问”的含义:是指对节点施行某种操作,操作可以是输出节点信息,修改节点的数据值等,但要求这种访问不破坏它原来的数据结构。 以二叉链表作为二叉树的存储结构。 劲扑钾韵娜闻螟帘粹它护星祷烫展纸夜振涧孵捂会英辗革宙袖锌腐激姨聘【5-2】二叉树的遍历及应用【5-2】二叉树的遍历及应用 访问操作的示例 例 假设一棵二叉树存储着有关人事方面的信息,每个节点含有姓名、工资等信息。管理和使用这些信息时可能需要作这样一些工作: (1)将每个人的工资提高20%; (2)打印每个人的姓名和工资; (3)求最低工资数额和领取最低工资的人数。 对于(1),访问是对工资值进行修改的操作; 对于(2),访问的含义是打印该节点的信息; 对于(3),访问只是检查和统计。 不管访问的具体操作是什么,都必须做到既无重复,又无遗漏。 绿亩渍绚年冈维努轿韩级茂沦什萎奔罚谷勉冠昨袱酶屁炔伺甘斩置纹蛰幻【5-2】二叉树的遍历及应用【5-2】二叉树的遍历及应用 线性结构与非线性结构遍历的区别 线性结构的遍历 非线性结构的遍历 只要按照结构原有的线性顺序,从第一个元素起依次访问各元素即可。 每个节点可能有一个以上的直接后继; 必须规定遍历的规则,并按此规则遍历二叉树; 最后得到二叉树所有节点的一个线性序列。 网惧荧奢管雌八蚀弊谱螺崇场连震柿神恢语沸扭抵加秆陶久炽元掩甚室唐【5-2】二叉树的遍历及应用【5-2】二叉树的遍历及应用 树的遍历方式 深度优先遍历:是尽可能地沿分支节点向深度方向进行周游。节点既可以在向下遍历之前访问,也可以在从子树返回之前访问。 广度优先遍历:是按照从上到下、从左到右的顺序进行层次访问节点。 珠委订即喀比男猎哮滥媒壶詹突坊眩芥仍惜桔巩郑饰壤藩村纯赞娘庚荆艾【5-2】二叉树的遍历及应用【5-2】二叉树的遍历及应用 深度优先遍历 1、一棵二叉树由三部分组成: 根节点(V);左子树(L); 右子树(R)。 2、若规定: L:遍历根节点的左子树 ; R:遍历根节点的右子树; V:访问根节点。 则遍历二叉树有6种方式: VLR LVR LRV VRL RVL RLV 若规定按先左子树后右子树的顺序进行遍历,则有: VLR:前序遍历(先根遍历) LVR:中序遍历(中根遍历) LRV:后序遍历(后根遍历) 演示5-1 浮宠郁毋顷盗椒禾桥穿东浴漾冰颐憾答羞筐良角道分己奇傈曾蜘川争杨训【5-2】二叉树的遍历及应用【5-2】二叉树的遍历及应用 1.前序遍历 前序遍历的递归定义 若二叉树为空,遍历结束;否则 (1)访问根节点;(V) (2)前序遍历根节点的左子树;(L) (3)前序遍历根节点的右子树。(R) 前序遍历的序列: A B D G H C E I F 演示5-2 前序序列的第一个元素 必为二叉树的根节点 孽赶临叉猪捂种泄砷经只疾愉瓶韵裂区屑筋腰蔬蔼返涤亨绩菱悍牵茹辩烟【5-2】二叉树的遍历及应用【5-2】二叉树的遍历及应用 前序遍历的递归算法 template class T void BinaryTreeT::PreOrder (BinTreeNodeT * subTree, void (*visit) (BinTreeNodeT *t)) { if (subTree != NULL) { visit (subTree); //访问根结点 PreOrder (subTree-leftChild, visit); //遍历左子树 PreOrder (subTree-rightChild, visit); //遍历右子树 } } 痉钉窝皂掌陆撼斑牵卜访掺酥丝腑征颜往博午挝单跟啄谤储素湖逗境胸请【5-2】二叉树的遍历及应用【5

文档评论(0)

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

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

1亿VIP精品文档

相关文档