- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
六树和叉树
第六章 树和二叉树 第六章 树和二叉树 第六章 树和二叉树 6.1 树的定义和基本术语 6.2 二 叉 树 6.3 遍历二叉树和线索二叉树 遍历的应用 6.4 树和森林 后序(根)遍历(LRD) 若二叉树非空(1)后序遍历左子树(2)后序遍历右子树 (3)访问根结点 后序遍历序列: D,G,E,B,F,C,A 例:后序遍历右图所示的二叉树 (1)后序遍历左子树:即按LRD的顺序遍历左子树 (2)后序遍历右子树:即按LRD的顺序遍历右子树 (3)访问根结点A A F G E D C B e d c b f a + * / - - 先序(根)遍历序列:-,+,a,*,b,-,c,d,/,e,f 中序(根)遍历序列:a,+,b,*,c,-,d,-,e,/,f 后序(根)遍历序列:a,b,c,d,-,*,+,e,f,/,- 人们喜欢中序形式的算术表达式,对于计算机,使用后序易于求值 例:先中序遍历序遍历、中序遍历、后序遍历下图所示的二叉树 这实际上是先序遍历的递归定义,我们知道递归定义包括两个部分: 1)基本项(也叫终止项); 2)递归项 若二叉树非空 (1)访问根结点; (2)先序遍历左子树 (3)先序遍历右子树; 先序遍历递归定义 递归项 遍历的递归算法 上面介绍了三种遍历方法,显然是用递归的方式给出的三种遍历方法,以先序为例: 先序遍历(DLR)的定义: 该定义隐含着若二叉树为空,结束 上面先序遍历的定义等价于: 若二叉树为空,结束 ——基本项(也叫终止项) 若二叉树非空 ——递归项 (1)访问根结点; (2)先序遍历左子树 (3)先序遍历右子树; 下面给出先序、中序、后序遍历递归算法,为了增加算法的可读性,这里对书上算法作了简化,没有考虑访问结点出错的情况(即我们假设调用函数visit( )访问结点总是成功的。 先序遍历递归算法?void PreOrderTraverse(BiTree T, Status(*Visit)(TElemType e)) {//采用二叉链表存贮二叉树, visit( )是访问结点的函数。本算法先序 //遍历以为根结点指针的二叉树,对每个数据元素调用函数Visit( ) if (T) { //若二叉树为空,结束返回 , 若二叉树不为空, //访问根结点;遍历左子树,遍历右子树 Visit(T-data); PreOrderTraverse(T-lchild, Visit); PreOrderTraverse(T-rchild, Visit); }//PreOrderTraverse 最简单的Visit函数是: Status PrintElement(TElemType e) {//输出元素e的值 printf(e); return OK; } ∧ D A B ∧ C ∧ ∧ E ∧ ∧ F ∧ T 2 中序遍历递归算法 ?void InOrderTraverse(BiTree T, Status(*Visit)(TElemType e)) { //采用二叉链表存贮二叉树, visit( )是访问结点的函数。本算法中序 //遍历以为根结点指针的二叉树,对每个数据元素调用函数Visit( ) if (T) { //若二叉树为空,结束返回 //若二叉树不为空,遍历左子树,访问根结点,遍历右子树 InOrderTraverse(T-lchild, Visit); Visit(T-data); InOrderTraverse(T-rchild, Visit); }// InOrderTraverse 你能写出后序遍历递归算法了吧 3 后序遍历递归算法 ?void PostOrderTraverse(BiTree T, Status(* Visit)(TElemType e)) { //采用二叉链表存贮二叉树, visit( )是访问结点的函数。本算法中序 //遍历以为根结点指针的二叉树,对每个数据元素调用函数Visit( ) if (T) { //若二
您可能关注的文档
- 八组合逻辑电路.ppt
- 八讲向量组及其线性组合.ppt
- 八过程与函数.ppt
- 八节无穷小的比较.ppt
- 公共产品理论m.ppt
- 公共部分基本知识分解压力.PPT
- 公共品与公共选择.ppt
- 公共经济学公共物品理论.ppt
- 公共选择(高培勇《公共经济学》版PPT).ppt
- 八年级美术下册心灵的关爱二湘教版.ppt
- [中央]2023年中国电子学会招聘应届生笔试历年参考题库附带答案详解.docx
- [吉安]2023年江西吉安市青原区总工会招聘协理员笔试历年参考题库附带答案详解.docx
- [中央]中华预防医学会科普信息部工作人员招聘笔试历年参考题库附带答案详解.docx
- [保定]河北保定市第二医院招聘工作人员49人笔试历年参考题库附带答案详解.docx
- [南通]江苏南通市崇川区人民法院招聘专职人民调解员10人笔试历年参考题库附带答案详解.docx
- [厦门]2023年福建厦门市机关事务管理局非在编工作人员招聘笔试历年参考题库附带答案详解.docx
- [三明]2023年福建三明市尤溪县招聘小学幼儿园新任教师79人笔试历年参考题库附带答案详解.docx
- [哈尔滨]2023年黑龙江哈尔滨市木兰县调配事业单位工作人员笔试历年参考题库附带答案详解.docx
- [上海]2023年上海市气象局所属事业单位招聘笔试历年参考题库附带答案详解.docx
- [台州]2023年浙江台州椒江区招聘中小学教师40人笔试历年参考题库附带答案详解.docx
最近下载
- 第15课 两次鸦片战争 教学课件(共31张PPT)高中历史人教统编版中外历史纲要上册.pptx VIP
- 电子课件-《GSP实务教程》课题七.pptx VIP
- 电机与电气控制技术 任务后练习题参考答案 赵红顺 .pdf
- PEP人教版小学英语六年级下册教案 全册.pdf VIP
- [北京]2024年北京市文物局局属事业单位招聘笔试历年参考题库附带答案详解.docx
- 【课件】平移(课件)人教版(2024)数学七年级下册.pptx VIP
- 电子课件-《GSP实务教程》课题六.pptx VIP
- 部编版道德与法治五年级下册《读懂彼此的心》练习题.docx VIP
- 《研学旅行课程设计》课件——研学课程方案设计.pptx VIP
- 《Lagrange中值定理.ppt
文档评论(0)