数据结构应用(树——基础知识).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文档。上传文档
查看更多
数据结构应用(树——基础知识)

* * * * * * * * 1—30min 2—10min 3----30min 4----10min * * * * 例2--已知结点的中序序列和后序序列分别为: 中序序列:d e b a c 后序序列:d a b e c d e b a ○ c 左子树 d e b a ○ c 由遍历序列确定二叉树 由遍历序列确定二叉树 2、已知结点的中序序列和后序序列分别为: 中序序列:d e b a c 后序序列:d a b e c d ○ c ○ e b a d ○ c ○ e b a 例2--已知结点的中序序列和后序序列分别为: 中序序列:d e b a c 后序序列:d a b e c ○ c ○ e ○ d ○ b ○ a 小结 二叉树采用顺序存储与二叉链表存储,其孩子个数最大为2,故采用二叉树的二叉链表表示法实现存储。 二叉树根据对根的访问先后顺序不同,有三种基本遍历方式:先序遍历,中序遍历和后序遍历。 任意一棵二叉树结点的前序遍历和中序遍历是唯一的,根据中序遍历是先遍历左子树L,然后访问根D,最后遍历右子树R,则根结点D将中序序列分割成两部分: 在D之前是左子树结点的中序序列 在D之后是右子树结点的中序序列 用递归的方法由前序序列和中序序列可唯一确定一棵二叉树;由后序序列和中序序列可唯一确定一棵二叉树。 * * * 1—30min 2—10min 3----30min 4----10min * * 由于树形结构的复杂性,要求我们遵循一定的方法来访问树上的结点,这样才能利用此类结构解决具体问题。 * * * * * * * * * * * * * * * * * * * * * * 1—30min 2—10min 3----30min 4----10min * * * * * * * * * * * * * * * * 1—30min 2—10min 3----30min 4----10min * * * * * * * * 树 基础知识 二叉树的遍历 顺着某一条搜索路径巡访二叉树中的结点,使得每个结点均被访问一次,而且仅被访问一次。 “访问”的含义可以很广 如:输出结点的信息等。 问题的提出 对“二叉树”而言,可以有四条遍历路径: 先上后下的按层次遍历 前序 (先根)的遍历算法 中序(中根)的遍历算法 后序(后根)的遍历算法 二叉树的基本结构是由根结点(D)、左子树(L)和右子树(R)三个基本单元组成。 D L R D L R LDR、LRD、DLR RDL、RLD、DRL LChild data RChild 二叉链表结点的基本组成 A B C ^ ^ ^ ^ A D B C 遍历序列:A B C D 层次遍历: ①从上到下 ②从左到右 二叉树的遍历 A D B C D L R A D L R D L R B D C D L R 前序遍历序列:A B D C 前序遍历: ①访问根结点 ②按前序遍历左子树 ③按前序遍历右子树 二叉树的遍历 中序遍历: ①按中序遍历左子树 ②访问根结点 ③按中序遍历右子树 A D B C L D R B L D R L D R A D C L D R 中序遍历序列:B D A C 二叉树的遍历 后序遍历: ①按后序遍历左子树 ②按后序遍历右子树 ③访问根结点 A D B C L R D L R D L R D A D C L R D 后序遍历序列: D B C A B 二叉树的遍历 例子1 A B C F D E G H 前序遍历: 中序遍历: 后序遍历: A B D F C E G H B F D A G E H C F D B G H E C A 层次遍历:A B C D E F G H 前序遍历: ①访问根结点 ②按前序遍历左子树 ③按前序遍历右子树 二叉树的遍历 例子2--表达式求值例(a+b*c)-d/e - + / a * b c d e 前序遍历(前缀):-+a*bc/de 中序遍历(中缀):a+b*c-d/c 后序遍历(后缀):abc*+de/- 前缀表达式也称波兰表达式,后缀表达式也称逆波兰表达式,在计算机内使用后缀表达式易于求值 二叉树的遍历 void PreOrder(BiTree

文档评论(0)

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

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

1亿VIP精品文档

相关文档