二叉树遍历(稿)ppt课件.ppt
《二叉树遍历(稿)ppt课件.ppt》由会员分享,可在线阅读,更多相关《二叉树遍历(稿)ppt课件.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人数据结构数据结构 C C语言语言 AFEDCBG烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人 知识与技能知识与技能 理解遍历算理解遍历算理解遍历算理解遍历算法;掌握遍历法;掌握遍历法;掌握遍历法;掌握遍历规则;体会遍规则;体会遍规则;体会遍规则;体会遍历算法的应用。历算法的应用。历算法的应用。历算法的应用。过程与方法过程与方法 通过遍历规通过遍历规通过遍历规通过遍历规则讲解和自主则讲解和自
2、主则讲解和自主则讲解和自主总结遍历思想总结遍历思想总结遍历思想总结遍历思想及算法的教学及算法的教学及算法的教学及算法的教学过程过程过程过程,掌握学,掌握学,掌握学,掌握学习分析总结问习分析总结问习分析总结问习分析总结问题的题的题的题的方法方法方法方法。实现价值实现价值 体会复杂数据体会复杂数据体会复杂数据体会复杂数据结构在计算机中结构在计算机中结构在计算机中结构在计算机中的存储方式及组的存储方式及组的存储方式及组的存储方式及组织结构;学会织结构;学会织结构;学会织结构;学会解解解解决如何合理的用决如何合理的用决如何合理的用决如何合理的用计算机程序处理计算机程序处理计算机程序处理计算机程序处理复
3、杂数据复杂数据复杂数据复杂数据。烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人 教学重点教学重点掌握二叉树掌握二叉树的遍历方法。的遍历方法。理解二叉树理解二叉树的遍历算法的遍历算法 教学难点教学难点 二叉树遍历二叉树遍历的应用。的应用。重重点点难难点点烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人教教 学学 过过 程程引导引导引导引导讲授讲授讲授讲授分析分析分析分析总结总结总结总结 新课引入新课引入-遍历的应用遍历的应用1 课程讲解课程
4、讲解-基础知识基础知识2教学提升教学提升-课程总结课程总结4实践内容实践内容-练习讨论练习讨论3巩固巩固拓展拓展-课后作业课后作业5烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人问题问题问题问题引入引入引入引入 3(2+5)/(9-6)=7先算哪个呢?烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人借助二叉借助二叉借助二叉借助二叉树树树树将算术表达式画将算术表达式画成一棵二叉树成一棵二叉树/+36259它的中序遍历序列为:它的中序遍历序列
5、为:3 *2 +5 /9 6它的后序遍历序列为:它的后序遍历序列为:2 5 +3 *9 6 /中缀表达式(人的思维)后缀表达式(电脑的思维)()()烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人基基基基础础础础知知知知识识识识-概概概概念念念念遍历定义遍历定义遍历用途遍历用途遍历方法遍历方法指按某条搜索路线遍访每个结点且指按某条搜索路线遍访每个结点且不重复(又称周游)。不重复(又称周游)。它是树结构插入、删除、修改、查它是树结构插入、删除、修改、查找和排序运算的前提,是二叉树一找和排序运算的前提,是二叉树一切运算的
6、基础和核心。切运算的基础和核心。对每个结点的查看通常都是对每个结点的查看通常都是“先左后先左后右右”。烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人基基基基础础础础知知知知识识识识-遍遍遍遍历规则历规则历规则历规则二叉树由根、左子树、右子树构成,定义为二叉树由根、左子树、右子树构成,定义为D、L、R以根结点为参照系以根结点为参照系注:注:“先、中、后先、中、后”的意思是指访问的结点的意思是指访问的结点D D是先于子树出是先于子树出现还是后于子树出现。现还是后于子树出现。v D、L、R的组合定义了六种可能的遍历方案:
7、的组合定义了六种可能的遍历方案:LDR,LRD,DLR,DRL,RDL,RLDv 若限定若限定先左后右先左后右,则有三种实现方案:,则有三种实现方案:DLR LDR LRD先先序遍历序遍历 中中序遍历序遍历 后后序遍历序遍历 烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人基基基基础础础础知知知知识识识识-先序遍先序遍先序遍先序遍历历历历ADBCD L RAD L RD L RBDCD L R先序遍历序列:先序遍历序列:A B D C先序遍历先序遍历(DLR):特点:任意一个结点均处在其子女结点的前面(根结点在前)有
8、什么特点?烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人分析思想分析思想分析思想分析思想总结总结总结总结算法算法算法算法ADBCD L RAD L RD L RBDCD L RF访问根结点访问根结点F先序先序遍历根的左子树遍历根的左子树F先序先序遍历根的右子树遍历根的右子树递归过程先序遍历算法先序遍历算法先序遍历算法先序遍历算法DLR(node*root)if(root!=NULL)printf(“%d”,root-data);DLR(root-lchild);DLR(root-rchild);return(0);
9、烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人基基基基础础础础知知知知识识识识-中序遍中序遍中序遍中序遍历历历历ADBCL D RBL D RL D RADCL D R中序遍历序列:中序遍历序列:B D A C特点:根结点左右分别为左右子树的所有结点.中序遍历中序遍历(LDR):讨论中序遍历思想及算法?烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人基基基基础础础础知知知知识识识识-后序遍后序遍后序遍后序遍历历历历ADBC后序遍历后序遍历
10、(LRD):讨论后序遍历思想及算法?L R DL R DL R DADCL R DB后序遍历序列:后序遍历序列:D B C A烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人三种遍历算法总结三种遍历算法总结中序遍历算法中序遍历算法中序遍历算法中序遍历算法LDR(node*root)if(root!=NULL)LDR(root-lchild);printf(“%d”,root-data);LDR(root-rchild);return(0);后序遍历算法后序遍历算法后序遍历算法后序遍历算法LRD(node*root)i
11、f(root!=NULL)LRD(root-lchild);LRD(root-rchild);printf(“%d”,root-data);return(0);结点数据类型自定义结点数据类型自定义结点数据类型自定义结点数据类型自定义typedef struct nodeint data;struct node*lchild,*rchild;node;node*root;先序遍历算法先序遍历算法先序遍历算法先序遍历算法DLR(node*root)if(root!=NULL)/非空二叉树非空二叉树 printf(“%d”,root-data);/访问访问D DDLR(root-lchild);/递
12、归遍历左子树递归遍历左子树DLR(root-rchild);/递归遍历右子树递归遍历右子树 return(0);烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人三种遍历算法分析三种遍历算法分析1.从前面的三种遍历算法可以知道:如果将从前面的三种遍历算法可以知道:如果将print语句抹去,语句抹去,从递归的角度看,这三种算法是完全相同的,或者说这三种从递归的角度看,这三种算法是完全相同的,或者说这三种遍历算法的遍历算法的访问路径是相同的,只是访问结点的时机不同。访问路径是相同的,只是访问结点的时机不同。从虚线的出发点到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二叉 遍历 ppt 课件
限制150内