【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文档。上传文档
查看更多
【5-2】二叉树的遍历及应用

数据结构 中国地质大学信息工程学院 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)

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

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

1亿VIP精品文档

相关文档