浙江大学:《数据结构与算法》第六章(6-3) 遍历二叉树和线索二叉树

63遍历二叉树和线索二叉树 63.1遍历二叉树 如果按某条搜索路径巡 访树中每个结点,使得 每个结点均被访问一次, 而且仅被访问一次
6.3遍历二叉树和线索二叉树 6.3.1遍历二叉树 如果按某条搜索路径巡 访树中每个结点,使得 每个结点均被访问一次, 而且仅被访问一次。 A B C D G E F

先序遍历二叉树的操作定义为: 若二叉树为空,则空操作; 否贝 A (1)访问根结点; (2)先序遍历左子树; B E (3)先序遍历右子树 DG ABCDFEG F
先序遍历二叉树的操作定义为: 若二叉树为空,则空操作; 否则 (1)访问根结点; (2)先序遍历左子树; (3)先序遍历右子树。 A B C D F E G A B C D G E F

先序遍历二叉树的递归算法 Status PreOrder Traverse(BiTree T, Status(* Visit)(TElem Type e)i if(T)i if (Visit(T->data)) if (PreOrder Traverse(T->lchild, Visit)) if(PreOrder Traverse(T->rchild, Visit) return OK return error. felse return OK 3//PreOrder Traverse
先序遍历二叉树的递归算法 Status PreOrderTraverse(BiTree T, Status(* Visit)(TElemType e)){ if (T){ if (Visit(T->data)) if (PreOrderTraverse(T->lchild,Visit)) if (PreOrderTraverse(T->rchild,Visit)) return OK; return ERROR; }else return OK; }//PreOrderTraverse

中序遍历二叉树的操作定义为: 若二叉树为空,则空操作; 否贝 A (1)中序遍历左子树; B E (2)访问根结点; (3)中序遍历右子树 DG CBDFAG E F
中序遍历二叉树的操作定义为: 若二叉树为空,则空操作; 否则 (1)中序遍历左子树; (2)访问根结点; (3)中序遍历右子树。 C B D F A G E A B C D G E F

中序遍历二叉树示例 中序遍历二叉树得 a+b米(C-d)-e/f
中序遍历二叉树示例 中序遍历二叉树得: a+b*(c-d)-e/f - + a * e / - f b c d

中序遍历二叉树的递归算法 Status In Order Traverse(BiTree T, Status( Visit) (TElem Type e) if(T)i if(InOrder Traverse(T->lchild, Visit)) if (Visit(T->data)) if(InOrder Traverse(T->rchild, Visit)) return OK return ErroR Else return OK /nOrder Traverse
中序遍历二叉树的递归算法 Status InOrderTraverse(BiTree T, Status(* Visit)(TElemType e)){ if (T){ if (InOrderTraverse(T->lchild,Visit)) if (Visit(T->data)) if (InOrderTraverse(T->rchild,Visit)) return OK; return ERROR; }else return OK; }//InOrderTraverse

后序遍历二叉树的操作定义为: 若二叉树为空,则空操作; 否贝 A (1)后序遍历左子树; (2)后序遍历右子树; B E (3)访问根结点。 DG CFDBGEA F
后序遍历二叉树的操作定义为: 若二叉树为空,则空操作; 否则 (1)后序遍历左子树; (2)后序遍历右子树; (3)访问根结点。 C F D B G E A A B C D G E F

后序遍历二叉树的递归算法 Status PostOrder Traverse(BiTree T, Status(= Visit )(TElem Type e))i if(T)i if (PostOrder Traverse(T->lchild, Visit) if(PostOrder Traverse(T->rchild, Visit) if( Visit(T->data)) return OK; return ErRoR Else return OK 3//PostOrder Traverse
后序遍历二叉树的递归算法 Status PostOrderTraverse(BiTree T, Status(* Visit)(TElemType e)){ if (T){ if (PostOrderTraverse(T->lchild,Visit)) if (PostOrderTraverse(T->rchild,Visit)) if (Visit(T->data)) return OK; return ERROR; }else return OK; }//PostOrderTraverse

中序遍历二叉树的非递归算法 Status InOrder Traverse(BiTree T, status(* Visit TElem Type e)i InitStack(S); Push(S,T) while(!Stack Empty(s)i while( GetTop(s,p)&& p)Push(s, p->lchild) Pop(s, p) if ( StackEmpty(s)& Pop(S, p); if(! Visite(p->data)) return ERROR Push(s, p->rchild) 1) return OK )//nOrder Traverse
中序遍历二叉树的非递归算法 Status InOrderTraverse(BiTree T, Status(* Visit) (TElemType e)){ InitStack(S); Push(S,T); while(!StackEmpty(S)){ while(GetTop(S,p) && p)Push(S,p->lchild); Pop(S, p); if (!StackEmpty(S)){ Pop(S,p); if (!Visite(p->data)) return ERROR; Push(S,p->rchild); } } return OK; }//InOrderTraverse

中序遍历二叉树的非递归算法 示意图 A Pop Get Top<--NULL B E p p C—B—A—S DG A F CBDFA CBDFAGE
中序遍历二叉树的非递归算法 示意图 C B D F A G E A B C D G E F A B C NULL S GetTop<-- p A S Pop p C B D F A
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 浙江大学:《数据结构与算法》教学(讲课)周历.doc
- 浙江大学:《数据结构与算法》第三章(3-2) 栈的应用举例.ppt
- 浙江大学:《数据结构与算法》第三章(3-1) 栈.ppt
- 浙江大学:《数据结构与算法》第二章(2-1) 线性表的类型定义.ppt
- 浙江大学:《数据结构与算法》第二章(2-3) 线性表的链式表示与实现.ppt
- 浙江大学:《数据结构与算法》课程简介.doc
- 浙江大学:《数据结构与算法》第一章 绪论.ppt
- 浙江大学:《数据结构与算法》实验要求与指导.doc
- 浙江大学:《数据结构与算法》任课教师登记表.doc
- 浙江大学:《数据结构与算法》教学(实验)周历.doc
- 浙江大学:《数据结构与算法》教学大纲.doc
- 《Auto CAD 2002中文版应用教程》第9章 文字标注.pps
- 《Auto CAD 2002中文版应用教程》第8章 图案填充.pps
- 《Auto CAD 2002中文版应用教程》第7章 块与外部参照.pps
- 《Auto CAD 2002中文版应用教程》第6章 图形编辑.pps
- 《Auto CAD 2002中文版应用教程》第5章 绘制图形.pps
- 《Auto CAD 2002中文版应用教程》第4章 图层、线型及颜色.pps
- 《Auto CAD 2002中文版应用教程》第3章 绘图设置.pps
- 《Auto CAD 2002中文版应用教程》第2章 绘图基础.pps
- 《Auto CAD 2002中文版应用教程》第1章 概述.pps
- 浙江大学:《数据结构与算法》第五章(5-1) 数组的定义.ppt
- 浙江大学:《数据结构与算法》第五章(5-3) 矩阵的压缩存储.ppt
- 浙江大学:《数据结构与算法》第六章(6-1) 树的定义和基本术语.ppt
- 浙江大学:《数据结构与算法》第七章(7-5) 有向无环图及其应用.ppt
- 浙江大学:《数据结构与算法》第四章(4-1) 串类型的定义.ppt
- 浙江大学:《数据结构与算法》第九章 查找.ppt
- 浙江大学:《数据结构与算法》第七章 图.ppt
- 浙江大学:《数据结构与算法》第十章 内部排序.ppt
- 浙江大学:《数据结构与算法》第六章(6-4) 树和森林.ppt
- 《Struts在行动 使用领先的Java框架构建Web应用》讲义.pdf
- 《网络系统集成技术》第10章 基于Web的应用系统开发技术.ppt
- 《网络系统集成技术》第11章 网络系统集成的规划与设计.ppt
- 《网络系统集成技术》第12章 大学校园网系统集成实例.ppt
- 《网络系统集成技术》第1章 网络系统集成概述.ppt
- 《网络系统集成技术》第2章 网络基础知识.ppt
- 《网络系统集成技术》第3章 常用的网络技术.ppt
- 《网络系统集成技术》第4章 网络服务器技术.ppt
- 《网络系统集成技术》第5章 网络存储备份技术.ppt
- 《网络系统集成技术》第6章 综合布线技术.ppt
- 《网络系统集成技术》第7章 网络互联技术.ppt