树的遍历与生成树.ppt
《树的遍历与生成树.ppt》由会员分享,可在线阅读,更多相关《树的遍历与生成树.ppt(49页珍藏版)》请在三一办公上搜索。
1、第7章 树Tree,不包含简单回路的连通图称为树,早在1857年英国数学家亚瑟凯莱就用树去计数某些类型的化合物。随后树已经被用来解决各种学科分支里的问题。,Chap 7 树,7.1 树的概念/Introduction of Trees7.2 树的应用/Applications of Trees7.3 树的遍历/Tree Traversal7.4 生成树和最小生成树/Spanning Trees and minimum Spanning Trees,有序根树常常用来保存信息,因此掌握访问有序根树的每个顶点以存取数据信息的算法非常必要系统地访问有序根树每个顶点的过程都称为遍历算法前序遍历 Preo
2、rder traversal中序遍历 Inorder traversal后序遍历 Postorder traversal,7.3 树的遍历Tree Traversal,定义1 设T是带根r的有序根树。若T只包含r,则r是T的前序遍历。否则T1,T2,Tn是T里在r处从左到右的子树。前序遍历首先访问r。接着以前序来遍历T1,然后以前序来遍历T2,依此类推,直到以前序遍历了Tn为止。,7.3 树的遍历Tree Traversal,例1 前序遍历是以什么顺序访问图中有序根树里的顶点的?,7.3 树的遍历Tree Traversal,a b e j k n o p f c d g l m h i,定义
3、2 设T是带根r的有序根树。若T只包含r,则r是T的中序遍历。否则T1,T2,Tn是T里在r处从左到右的子树。中序遍历首先以中序来遍历T1,然后访问r,接着以中序遍历T2,以中序遍历T3,依此类推,直到以中序遍历了Tn为止。,7.3 树的遍历Tree Traversal,例2 中序遍历是以什么顺序访问图中有序根树里的顶点的?,7.3 树的遍历Tree Traversal,j e n k o p b f a c l g m d h i,定义3 设T是带根r的有序根树。若T只包含r,则r是T的后序遍历。否则T1,T2,Tn是T里在r处从左到右的子树。后序遍历首先以后序来遍历T1,以后序遍历T2,然
4、后以后序遍历Tn,最后访问r。,7.3 树的遍历Tree Traversal,例3 后序遍历是以什么顺序访问图中有序根树里的顶点的?,7.3 树的遍历Tree Traversal,j n o p k e f b c l m g h i d a,7.3 树的遍历Tree Traversal,7.3 树的遍历Tree Traversal,7.3 树的遍历Tree Traversal,以前序、中序、后序来列出有序根树的顶点的简易方法:首先从根开始围绕有序根树画一条曲线,沿着边移动;,7.3 树的遍历Tree Traversal,前序:当曲线第一次经过一个顶点时,就列出这个顶点,中序:当曲线第一次经过
5、一个树叶时,就列出这个树叶,当曲线第二次经过一个内点时就列出这个内点,后序:当曲线最后一次经过一个顶点而返回这个顶点的父母时,就列出这个顶点,练习:写出该有序根图按照前序、中序、后序遍历访问的顶点顺序,7.3 树的遍历Tree Traversal,前序:abdefgc中序:dbfegac后序:dfgebca,中缀、前缀、后缀记法(Infix,prefix,postfix notation),7.3 树的遍历Tree Traversal,可用有序树来表示复杂的表达式包括算术表达式、复合命题、集合的组合等,表示算术表达式时内点表示运算,树叶表示变量或数字,每个运算都作用在它的子树上,例4 表示表达
6、式(x+y)2)+(x-4)/3)的有序根树是什么?,中缀、前缀、后缀记法(Infix,prefix,postfix notation),7.3 树的遍历Tree Traversal,对表示一个表达式的有序根树的中序遍历,产生原来的表达式,中缀、前缀、后缀记法(Infix,prefix,postfix notation),7.3 树的遍历Tree Traversal,对表示一个表达式的二叉树的中序遍历,产生原来的表达式中序遍历得出的中缀表达式有二义性为避免二义性,中序遍历时需加括号,这种表达式称为中缀形式,(x+y)/(x+3),(x+(y/x)+3,x+(y/(x+3),中序遍历?,x+y/
7、x+3,中缀、前缀、后缀记法(Infix,prefix,postfix notation),7.3 树的遍历Tree Traversal,当以前序来遍历表达式的二叉树时,就获得它的前缀形式,又称波兰记法前缀记法下的表达式无二义性,前缀形式?,+xy2/-x43,已知前缀形式,如何获得对应的表达式呢?,从右向左地求对应的表达式当遇到一个运算,就对在这个运算右边紧邻的两个运算对象执行相应的运算每个运算结果是新的运算对象,例5 前缀表达式+-*2 3 5/2 3 4的值是什么?,7.3 树的遍历Tree Traversal,中缀、前缀、后缀记法(Infix,prefix,postfix notati
8、on),7.3 树的遍历Tree Traversal,当以后序来遍历表达式的二叉树时,就获得它的后缀形式,又称逆波兰记法后缀记法下的表达式无二义性,后缀形式?,xy+2x4-3/+,已知后缀形式,如何获得对应的表达式呢?,从左向右地求对应的表达式当两个运算对象后面接着一个运算时,就执行这个运算每个运算结果是新的运算对象,例6 后缀表达式7 2 3*-4 9 3/+的值是什么?,7.3 树的遍历Tree Traversal,7.3 树的遍历Tree Traversal,例:求复合命题 的有序根树,然后基于这个根树求这个表达式的前缀、中缀、后缀形式。,中缀形式:前缀形式:后缀形式:,三种记法特点总
9、结,中缀记法的顺序与原表达式相同,但容易产生二义性,故需要加括号;前缀与后缀记法虽然与原表达式顺序不相同,但因无二义性,且不需要来回扫描,所以被广泛用于计算机的编译系统;,作业,P333:针对4题的图写出前序遍历、中序遍历和后序遍历的顶点顺序。8,11(a),Chap 7 树,7.1 树的概念/Introduction of Trees7.2 树的应用/Applications of Trees7.3 树的遍历/Tree Traversal7.4 生成树和最小生成树/Spanning Trees and minimum Spanning Trees,7.4 生成树和最小生成树Spanning
10、Trees and minimum Spanning Trees,缅因州的道路系统图,高速公路部门怎么扫尽可能少的雪,使得州内任两个乡镇都有干净的道路?,确保任两个乡镇都有通路,且不能有多余的边。,求一个包含该图所有顶点的树(5条边),定义1生成树:无向简单图G=(V,E)的生成子图T是树,则称T为G的生成树/spanning tree。T=(V,E),EE,例1 找出下面简单图的生成树。,7.4 生成树和最小生成树Spanning Trees and minimum Spanning Trees,证明:必要性:T是生成子图,包含G的所有顶点,T是树,T连通,则G连通。充分性:若G是连通的,1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遍历 生成
链接地址:https://www.31ppt.com/p-6070457.html