安徽理工大学:《算法设计与分析 Algorithm Design and Analysis》课程教学资源(PPT课件讲稿)第6章 基本检索与周游方法

第六章基本检索与周游方法
第六章 基本检索与周游方法

·问题描述 ·许多涉及到二元树、树和图的问题 ●】 涉及问题中数据结点的访问和处理 有的问题需要访问结构中所有结点,有的 访问结构的部分结点。 ·本章介绍的方法将适用于树、二元树,有 些方法可以用于图、树、二元树
• 问题描述 • 许多涉及到二元树、树和图的问题 • 涉及问题中数据结点的访问和处理 • 有的问题需要访问结构中所有结点,有的 访问结构的部分结点。 • 本章介绍的方法将适用于树、二元树,有 些方法可以用于图 、树、二元树

6.1一般方法 1.检索与周游 检索:以某种方法检查给定的数据对象,找出满足 某些给定性质的结点的过程称为检索 周游:当检索过程必须检索到数据对象的每一个结 点时,则该检索过程称为周游 访问结点:当算法对一个结点的信息段进行处理时, 称该结点被访问。 结点被访问可以是结点被打印、或作某种处理
6.1 一般方法 1.检索与周游 检索:以某种方法检查给定的数据对象,找出满足 某些给定性质的结点的过程称为检索 周游:当检索过程必须检索到数据对象的每一个结 点时,则该检索过程称为周游 访问结点:当算法对一个结点的信息段进行处理时, 称该结点被访问。 结点被访问可以是结点被打印、或作某种处理

2.二元树周游(遍历) 1)周游次序 在二元树的周游中,以D、L、R分别代表访问结点 的信息段、访问左子树、访问右子树。则可能的顺序有: ★LDR:中根次序周游(中根遍历) ★LRD:后根次序周游(后根遍历) ★DLR:先根次序周游(先根遍历) ★RDL:逆中根次序周游 ★RLD:逆后根次序周游 ★DRL:逆先根次序周游
2. 二元树周游(遍历) 1)周游次序 在二元树的周游中,以D、L、R分别代表访问结点 的信息段、访问左子树、访问右子树。则可能的顺序有: ★ LDR:中根次序周游(中根遍历) ★ LRD:后根次序周游(后根遍历) ★ DLR:先根次序周游(先根遍历) ★ RDL:逆中根次序周游 ★ RLD:逆后根次序周游 ★ DRL:逆先根次序周游

2)二元树周游算法 (1)中根次序周游 算法6.1中根次序周游的递归表示 procedure INORDER(T) //T是一棵二元树。T的每个结点有三个信息 段:LCHILD,DATA,RCHILD// ifT≠0then cal1 INORDER (LCHILD(T)) call VISIT(T) ca11 INORDER(RCHILD(T)) endif end INORDER
2)二元树周游算法 ⑴ 中根次序周游 算法6.1 中根次序周游的递归表示 procedure INORDER(T) //T是一棵二元树。T的每个结点有三个信息 段:LCHILD,DATA,RCHILD// if T≠0 then call INORDER(LCHILD(T)) call VISIT(T) call INORDER(RCHILD(T)) endif end INORDER

(2)先根次序周游 算法6.2先根次序周游的递归表示 procedure PREORDER(T) //T是一棵二元树。T的每个结点有三个信 息段:LCHILD,DATA,RCHILD// ifT≠0then call VISIT(T) cal1 PREORDER(LCHILD(T)) cal1 PREORDER(RCHILD(T)) endif end preORDER
⑵先根次序周游 算法6.2 先根次序周游的递归表示 procedure PREORDER(T) //T是一棵二元树。T的每个结点有三个信 息段:LCHILD, DATA,RCHILD// if T≠0 then call VISIT(T) call PREORDER(LCHILD(T)) call PREORDER(RCHILD(T)) endif end PREORDER

(2)后根次序周游 算法6.3后根次序周游的递归表示 procedure POSTORDER(T) //T是一棵二元树。T的每个结点有三个信 息段:LCHILD,DATA,RCHILD// fT≠0then cal1 POSTORDER(LCHILD(T)) cal1 POSTORDER(RCHILD(T) call VISIT(T) endif end preorder
⑵后根次序周游 算法6.3 后根次序周游的递归表示 procedure POSTORDER(T) //T是一棵二元树。T的每个结点有三个信 息段:LCHILD,DATA,RCHILD// if T≠0 then call POSTORDER(LCHILD(T)) call POSTORDER(RCHILD(T)) call VISIT(T) endif end PREORDER

·中根次序周游:FDHGIBEAC 。 先根次序周游:ABDFGHIEC A ·后根次序周游:FHIGDEBCA B C D E F G H
• 中根次序周游:FDHGIBEAC • 先根次序周游: ABDFGHIEC • 后根次序周游: FHIGDEBCA A B D E G C H F I

注 棵二元树可由中根遍历序列十先根遍历序列、 或中根遍历序列十后根遍历序列唯一确定。但不能 由先根遍历序列十后根遍历序列唯一确定。 如已知一棵二元树的中根遍历次序是: DGBEAFHC 先根遍历次序是:ABDGECFH A 则这棵二元树唯一确定如下: B C D E F G H
注: 一棵二元树可由中根遍历序列+先根遍历序列、 或中根遍历序列+后根遍历序列唯一确定。但不能 由先根遍历序列+后根遍历序列唯一确定。 如已知一棵二元树的中根遍历次序是: DGBEAFHC 先根遍历次序是:ABDGECFH 则这棵二元树唯一确定如下: A B D E G C F H

定理6.1当输入的树T有n≥0个结点时,设t(n)和s(n)分别表示这些 周游算法中的任意一个算法所需要的最大时间和空间。如果访问一个 结点所需要的时间和空间是⊙(1),则t(n)=⊙(n),s(n)=⊙(n)。 证明: 时间:由于已知访问一个结点所需时间是⊙(1),故可用常数c限界。 设T的左子树中的结点数是n1,则t(n)有: t (n)=maxni{t (n1)+t (n-n1-1)+ci}n>1 其中,t(0)≤c1 归纳法证明t(n)≤c2n+c1,其中c2是一使得c2≥2c1的常数。 1)当n=0时,成立 2)假定当n=0,1,…,m-1时均成立。则当n=m时有, 设T是一棵有m个结点的树,T左子树结点数为n1,则 t (n)=maxni{t (n1)+t(n-n1-1)+c1} <maxniic2n1+c1+c2(n-n1-1)+ci+c1} =maxn1ic2n+3c1-c2 ≤c2n+c1 同理,存在c'2和c'1有t(n)≥c'2n+c'1。所以t(n)=⊙(n) 空间:若T的深度为d,则所需空间为⊙(d),d≤n,所以s(n)=⑧(n)
定理6.1 当输入的树T有n≥0个结点时,设t(n)和s(n)分别表示这些 周游算法中的任意一个算法所需要的最大时间和空间。如果访问一个 结点所需要的时间和空间是Θ(1),则t(n)=Θ(n), s(n)=Θ(n)。 证明: 时间:由于已知访问一个结点所需时间是Θ(1),故可用常数c1限界。 设T的左子树中的结点数是n1,则t(n)有: t(n)=maxn1{t(n1)+t(n-n1-1)+c1} n≥1 其中,t(0)≤c1。 归纳法证明t(n)≤c2n+c1,其中c2是一使得c2≥2c1的常数。 1)当n=0时,成立 2)假定当n=0,1,…,m-1时均成立。则当n=m时有, 设T是一棵有m个结点的树,T左子树结点数为n1,则 t(n)=maxn1{t(n1)+t(n-n1-1)+c1} ≤maxn1{c2n1+c1+c2(n-n1-1)+c1+c1} =maxn1{c2n+3c1-c2} ≤c2n+c1 同理,存在c'2和c'1有t(n)≥c'2n+c'1。所以t(n)=Θ(n) 空间:若T的深度为d,则所需空间为Θ(d), d≤n,所以s(n)=Θ(n)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 安徽理工大学:《算法设计与分析 Algorithm Design and Analysis》课程教学资源(PPT课件讲稿)第6章 代码最优化.ppt
- 安徽理工大学:《算法设计与分析 Algorithm Design and Analysis》课程教学资源(PPT课件讲稿)第5章 动态规划.ppt
- 安徽理工大学:《算法设计与分析 Algorithm Design and Analysis》课程教学资源(PPT课件讲稿)第4章 贪心方法.ppt
- 安徽理工大学:《算法设计与分析 Algorithm Design and Analysis》课程教学资源(PPT课件讲稿)第3章 分治法——“分”而治之.ppt
- 安徽理工大学:《算法设计与分析 Algorithm Design and Analysis》课程教学资源(PPT课件讲稿)第2章 递归算法设计与分析.ppt
- 安徽理工大学:《算法设计与分析 Algorithm Design and Analysis》课程教学资源(PPT课件讲稿)第1章 导引与基本数据结构论(任课老师:郭娟、方欢).ppt
- 软件设计师考试同步辅导(第4版)第2章 程序设计语言基础.pdf
- 《仿真与虚拟农业》课程教学资源(教学大纲).pdf
- 《3S技术导论》课程教学资源(讲义).pdf
- 《3S技术导论》课程教学资源(实验指导).pdf
- 天津农学院:《微机原理与汇编语言程序设计》课程教学资源(实验指导书).pdf
- 《仿真与虚拟农业》课程教学资源(实验指导).pdf
- 《农业信息技术概论》课程教学资源(教学大纲).pdf
- 香港中文大学:《Topics in Theoretical Computer Science》课程教学资源(PPT课件讲稿)Lecture 7 Stable matching.Gale-Shapley algorithm.pptx
- Minimal Cover-Automata for Finite Languages.pdf
- 香港中文大学:《CMSC5719 Seminar》课程教学资源(讲义)Lecture 12 Introduction to Computational Photography.ppt
- 香港中文大学:《CMSC5719 Seminar》课程教学资源(讲义)Lecture 10 An Introduction to Bioinformatics and its application in Protein-DNA/Protein Interactions Research and Drug Discovery.pptx
- 香港中文大学:《CMSC5719 Seminar》课程教学资源(讲义)Lecture 11 Design of Microfluidics-Based Biochips.pdf
- 香港中文大学:《CMSC5719 Seminar》课程教学资源(讲义)Lecture 07-2 Research and Applications of Virtual Medicine Part II Virtual Reality Based Surgical Simulations.pdf
- 香港中文大学:《CMSC5719 Seminar》课程教学资源(讲义)Lecture 07-1 Research and Applications of Virtual Medicine Part I Introduction to Medical Visualization.pdf
- 安徽理工大学:《算法设计与分析 Algorithm Design and Analysis》课程教学资源(PPT课件讲稿)动态规划求解(背包问题).ppt
- 安徽理工大学:《算法设计与分析 Algorithm Design and Analysis》课程教学资源(PPT课件讲稿)第7章 回溯法.ppt
- 安徽理工大学:《算法设计与分析 Algorithm Design and Analysis》课程教学资源(PPT课件讲稿)第8章 计算机算法基础(分支限界法).ppt
- Wireless Communication - Project Report 3 Project 12 – Wireless Mesh Network.pdf
- 山东大学:《医用计算机基础》课程电子教案(PPT课件)第一章 计算机的基本知识.ppt
- 山东大学:《医用计算机基础》课程电子教案(PPT课件)第四章 文字处理软件(Word).ppt
- 山东大学:《医用计算机基础》课程电子教案(PPT课件)第二章 DOS操作系统.ppt
- 山东大学:《医用计算机基础》课程电子教案(PPT课件)第三章 Windows操作系统.ppt
- 山东大学:《医用计算机基础》课程电子教案(PPT课件)第五章 Excel 2000中文版.ppt
- 山东大学:《医用计算机基础》课程电子教案(PPT课件)第七章 计算机网络的基本知识.ppt
- 山东大学:《医用计算机基础》课程电子教案(PPT课件)第六章 使用PowerPoint创建演示文稿.ppt
- 山东大学:《计算机医学实用技术》课程电子教案(教材讲义)第一部分 计算机硬件原理与组装(共六章).doc
- 山东大学:《计算机医学实用技术》课程电子教案(课件讲稿)第三部分 医学网站的建立与FRONTPAGE2002的使用(共四章,主讲:张玉华).ppt
- 山东大学:《计算机医学实用技术》课程电子教案(课件讲稿)第二部分 多媒体图像处理技术(共六章).ppt
- 山东大学:《计算机医学实用技术》课程电子教案(课件讲稿)第四部分 Excel实用技术基础.ppt
- 山东大学:《计算机医学实用技术》课程电子教案(教材讲义)第五部分 Access数据库基础(共六章).doc
- 山东大学:《人机交互技术》课程教学资源(PPT课件讲稿)第2章 认知心理学(感知和认知基础).ppt
- 山东大学:《人机交互技术》课程教学资源(PPT课件讲稿)第3章 交互设备(输入设备).ppt
- 山东大学:《人机交互技术》课程教学资源(PPT课件讲稿)第3章 交互设备(输出设备、虚拟现实系统中的交互设备).ppt
- 山东大学:《人机交互技术》课程教学资源(PPT课件讲稿)第1章 绪论.ppt