数据结构基本知识叉树遍历.pptVIP

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构基本知识叉树遍历

第5章第2节 1.树的定义及性质 树(tree)是n(n?0)个结点的有限集T,其中: 有且仅有一个特定的结点,称为树的根(root) 当n1时,其余结点可分为m(m0)个互不相交的有限集T1,T2,……Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree)。 3.二叉树的存储结构 顺序存储结构 按满二叉树的结点层次编号,依次存放二叉树中的数据元素 4.树与二叉树转换 5.2 二叉树的遍历 遍历——按一定规律走遍树的各个结点,且使每一结点仅被访问一次,即找一个完整而有规律的走法,以得到树中所有结点的一个线性排列。 常用方法 先序遍历:先访问根结点,然后分别先序遍历左子树、先序遍历右子树。 中序遍历:先中序遍历左子树,然后访问根结点,最后中序遍历右子树。 后序遍历:先后序遍历左、后序遍历右子树,然后访问根结点 例:对如下二叉树进行前序遍历的结果为 例:对如下二叉树进行中序遍历的结果为 例:对如下二叉树进行后序遍历的结果为 例1:已知一棵二叉树的先序序列为CEDBA,中序序列为DEBAC,试构造该二叉树。 基本思想: 在先序序列中找根,在中序序列中分左右。 例2:已知一棵二叉树的后序序列为DABEC,中序序列为DEBAC,试构造该二叉树。 基本思想: 在后序序列中找根,在中序序列中分左右。 4. 树和森林的遍历 树的遍历 先根(序)遍历:先访问树的根结点,然后依次先根遍历根的每棵子树 后根(序)遍历:先依次后根遍历每棵子树,然后访问根结点 按层次遍历:先访问第一层上的结点,然后依次遍历第二层,……第n层的结点 4. 树和森林的遍历 森林的遍历 先根(序)遍历: 先访问第一颗树的根结点 先根遍历第一颗树中根结点的子树森林 先根遍历除去第一颗树之后剩余树构成的森林 后根(序)遍历 后跟遍历第一颗树的根结点的子树森林 访问第一颗树的根结点 后跟遍历除去第一颗树之后剩余树构成的森林 2.二叉树先序遍历的非递归算法 A B C D E F G p i P-A (1) 访问:A A B C D E F G p i P-A P-B (2) 访问:AB A B C D E F G p i P-A P-B P-C (3) 访问:ABC A B C D E F G p i P-A P-B (4) 访问:ABC A B C D E F G i P-A P-D P-E 访问:ABCDE p (7) p=NULL A B C D E F G i P-A (5) 访问:ABC p=NULL A B C D E F G i P-A P-D (6) 访问:ABCD A B C D E F G i P-A P-D 访问:ABCDE p (8) A B C D E F G i P-A P-F 访问:ABCDEGF p (12) A B C D E F G i P-A P-D P-G 访问:ABCDEG p (9) A B C D E F G i P-A 访问:ABCDEG p (11) A B C D E F G i P-A P-D 访问:ABCDEG p (10) A B C D E F G i P-A 访问:ABCDEGF p (13) A B C D E F G i 访问: ABCDEGF p=NULL (14) 2.二叉树先序遍历的非递归算法 (2)中序遍历的非递归算法 令p指向根结点。 若p不为空,将p压入栈中。 若p为空,转4。 将p所指结点的左孩子压入栈,转2。 从栈中弹出栈顶结点,访问所弹出结点,令p指向所弹出结点的右孩子;转2。 2.二叉树中序遍历的非递归算法 A B C D E F G p i P-A (1) A B C D E F G p i P-A P-B (2) A B C D E F G p i P-A P-B P-C (3) p=NULL A B C D E F G i P-A P-B 访问:C (4) p A B C D E F G i P-A 访问:C B (5) A B C D E F G i P-A P-D 访问:C B p (6) A B C D E F G i P-A P-D P-E 访问:C B p (7) A B C D E F G i P-A P-D 访问:C B E p (8) A B C D E F G i P-A P-D P-G 访问:C B E P=NULL (9) A B C D E F G i P-A 访问:C B E G D p (11) A B C D E F G i P-A P-F 访问:C B E G D p (12) A B C D E F G i P-A P-D 访问:C B E G p (10) A B C D E F G i P-A

文档评论(0)

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

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

1亿VIP精品文档

相关文档