二叉树遍历(递归—非递归转换)要点.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构——二叉树的遍历 ——遍历二叉树 制作人:计科系孙玉霞 6.3 遍历二叉树 遍历二叉树 二叉树的先序遍历 二叉树的中序遍历 二叉树的后序遍历 遍历二叉树 方法 先序遍历:先访问根结点,然后分别先序遍历左子树、右子树 中序遍历:先中序遍历左子树,然后访问根结点,最后中序遍历右子树 后序遍历:先后序遍历左、右子树,然后访问根结点 按层次遍历:从上到下、从左到右访问各结点 算法实现: 二叉树的中序遍历 一、二叉树中序遍历的定义: 首先按照中序遍历的顺序访问根结点的左子树; 然后访问根结点; 最后按照中序遍历的顺序访问根结点的右子树。 二、二叉树中序遍历的递归实现 #define NULL 0 Typedef struct node{ char data; struct node *lchild,*rchild; }*BiTree; Void inorder(BiTree t) { if(t!=NULL) { inorder(t–lchild); printf(“%c”,t–data) inorder(t–rchild); } } 三、二叉树中序遍历的非递归实现 在二叉树中序遍历过程中: (2)在遍历过程中要做的工作始终分成两部分: 当前正在访问的子树(被指针t指向) 栈中等待访问的子树 当t所指向的子树访问完成后,若栈非空,则取出栈顶元素,访问其根结点,然后再进入其右子树访问 二叉树中序遍历的非递归实现算法: typedef struct stack{ /*栈结构定义*/ BiTree data[100]; int top;} sqstack; void push(sqstack *s,BiTree t) /*进栈*/ { s.data[s.top++]=t; } BiTree pop(sqstack *s) /*出栈*/ { if (s.top!=0) return(s.data[--s.top]); else return NULL; } 二叉树的后序遍历 一、二叉树后序遍历的定义: 首先按照后序遍历的顺序访问根结点的左子树; 然后按照后序遍历的顺序访问根结点的右子树。 最后访问根结点; 三、二叉树后序遍历的非递归实现 在二叉树后序遍历过程中: (2)在遍历过程中要做的工作始终分成两部分: 当前正在访问的子树(被指针t指向) 栈中等待访问的子树 返回目录 * 数据结构 本次课主要内容 D L R LDR、LRD、DLR RDL、RLD、DRL 返回目录 A D B C D L R A D L R D L R B D C D L R 先序遍历序列:A B D C 二叉树的先序遍历 进入 非递归算法 递归算法 先序遍历 过程演示 void preorder(BiTree t) { if(t!=NULL) { printf(%d\t,t-data); preorder(t-lchild); preorder(t-rchild); } } 主程序 Pre( T ) 返回 返回 pre(T R); 返回 返回 pre(T R); A C B D T B printf(B); pre(T L); B T A printf(A); pre(T L); A T D printf(D); pre(T L); D T C printf(C); pre(T L); C 返回 T 左是空返回 pre(T R); T 左是空返回 T 右是空返回 T 左是空返回 T 右是空返回 pre(T R); 先序序列:A B D C T T T T Back 非递归算法 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

文档评论(0)

1192212 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档