数据结构6

第6章 递归,6.3 递归算法到非递归算法的转换,6.1 什么是递归,6.2 递归算法的设计,本章小结,6.1 什么是递归 6.1.1 递归的定义 在定义一个过程或函数时出现调用本过程或本函数的成分,称之为递归。若调用自身,称之为直接递归。若过程或函数p调用过程或函数q,而q又调用p,称之为间接递归

数据结构6Tag内容描述:

1、第6章 递归,6.3 递归算法到非递归算法的转换,6.1 什么是递归,6.2 递归算法的设计,本章小结,6.1 什么是递归 6.1.1 递归的定义 在定义一个过程或函数时出现调用本过程或本函数的成分,称之为递归。若调用自身,称之为直接递归。若过程或函数p调用过程或函数q,而q又调用p,称之为间接递归。 如果一个递归过程或递归函数中递归调用语句是最后一条执行语句,则称这种递归调用为尾递归。,例6.1。

2、第6章递归 6 3递归算法的设计 6 1什么是递归 6 2递归调用的实现原理 本章小结 6 1什么是递归6 1 1递归的定义在定义一个过程或函数时出现调用本过程或本函数的成分 称之为递归 若调用自身 称之为直接递归 若过程或函数p调用过程或。

3、第六章树和二叉树,6.1 树的定义和基本概念6.2 二叉树6.3 遍历二叉树和线索二叉树6.4 树和森林6.6 哈夫曼树及其应用,第六章 树和二叉树,6.1 树的类型定义,第六章 树,6.1 树的定义定义定义:树(tree)是n(n=0)个结点的有限集T,其中:n=0 则称为空树。当n0时,有且仅有一个特定的结点,称为树的根(root)当n1时,其余结点可分为m(m0)个互不相交的有限集T1,T2,Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree),根,子树,数据对象 D:,D是具有相同特性的数据元素的集合。,若D为空集,则称为空树 。否则: (1) 在D中存在唯一的称为根的数。

4、 第6章 树和二叉树,目 标,理解树、二叉树的定义、相关术语; 掌握二叉树的二叉链表存储方式、二叉树性质; 掌握二叉树的四种遍历方式及遍历的实现算法; 理解二叉树的线索化方法; 灵活运用二叉树的遍历方法解决相关的应用问题 理解树、森林和二叉树间的转换 理解树、森林的遍历,本章内容,6.1 树的定义和基本术语,6.2 二叉树,6.3 二叉树的遍历和线索二叉树,6.4 树和森林,6.5 哈夫曼树及其应用,6.5 哈夫曼树及其应用,6.5.1 哈夫曼树6.5.2 哈夫曼编码,6.5.1 哈夫曼树,1哈夫曼树的基本概念 路径 路径长度 二叉树的路径长度 二叉树的带权路径。

5、第十章 排序,10.1 概述,10.2 插入排序,10.3 快速排序,10.4 堆排序,10.5 归并排序,10.6 基数排序,10.7 各种排序方法的综合比较,10.8 外部排序,10.1 概 述,一、排序的定义,二、内部排序和外部排序,三、内部排序方法的分类,一、什么是排序?,排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。,例如:将下列关键字序列,52, 49, 80, 36, 14, 58, 61, 23, 97, 75,调整为,14, 23, 36, 49, 52, 58, 61 ,75, 80, 97,一般情况下, 假设含n个记录的序列为 R1, R2, , Rn 其相应的关键字序列为 K1, K2, 。

6、教材: 安训国 刘俞主编,数据结构(第三版),大连理工大学出版社,2007年,数 据 结 构,2,3,数据结构课程的地位,它是计算机专业及相关专业的核心课程之一,是计算机及相关专业的重要骨干基础课程。它针对非数值计算的程序设计问题,研究计算机的操作对象以及它们之间的关系和操作。即其研究目的是研究有效地组织和处理非数值类型数据的理论、技术和方法。,4,数据结构的核心研究内容,数据的逻辑结构、存储结构及它们之间的关系和相应的基本操作运算的定义和实现。 本书围绕数据结构的三种基本结构:线性结构、树形结构和图形结构展开讨论,。

7、第6章 树和二叉树,6.1 树的概念与定义 6.2 二叉树 6.3 二叉树的遍历与线索化 6.4 树、森林和二叉树的关系 6.5 哈夫曼树及其应用,本章重点和难点:,掌握树的基本概念; 掌握二叉树的基本概念和性质;掌握二叉树的存储结构;掌握二叉树的遍历方法;了解二叉树线索化方法及其线索化二叉树相关的运算; 掌握Haffman树及其应用; 掌握掌握树的存储结构;掌握树、森林和二叉树相互转化方法。,6.1 树的概念与定义,树是n(n0)个结点的有限集合T。当n=0时,称为空树;当n0时, 该集合满足如下条件: (1) 其中必有一个称为根(root)的特定结点,它。

8、,第6章 树和二叉树,6.1 树的定义和基本术语,6.2 二叉树,6.3 遍历二叉树和线索二叉树,6.4 树和森林,6.5 赫夫曼树及其应用,树的定义:树(tree)是n(n0)个结点的有限集T,其中: 有且仅有一个特定的结点,称为树的根(root) 当n1时,其余结点可分为m(m0)个互不相交的有限集T1,T2,Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree) 特点: 树中至少有一个结点根 树中各子树是互不相交的集合,A,6.1 树的定义和基本术语,树是一类重要的非线性数据结构,是以分支关系定义的层次结构,根,子树,一、树的表示形式及术语,有子树的树,图形表示法,。

9、16:50:50,1,第6章 树和二叉树,6.1 树的定义和基本术语 6.2 二叉树 6.3 遍历二叉树和线索二叉树 6.4 树和森林 6.5 树与等价问题 6.6 赫夫曼树及其应用 6.7 回溯法与树的遍历 6.8 树的计数,16:50:50,CH.6,2,6.1树的定义和基本术语,树(Tree)的定义: 树是n(n=0)个结点的有限集。在任意一棵非空树中: (1)有且仅有一个特定的称为根(Root)的结点; (2)当n1时,其余结点可分为m(m0)个互不相交的有限集T1,T2,.Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。 (注意:上述的定义也是递归的。),16:50:50,CH.6,3,6.1树的定义和基。

10、第6章 树形结构,6.1 树形结构的基本概念 6.2 二叉树的基本概念和性质 6.3 二叉树的存储结构 6.5 二叉树的遍历 6.8 树与森林 6.10 树的应用示例哈夫曼树,6.1.1 树结构的定义,数据对象 D: n个数据元素的有穷集合(n0) 数据关系R: n=0时,称为空树;n0时,它满足以下条件: (1)有且仅有一个结点d0D,满足:不存在任何dD,使R。我们称它为树的根(Root)。 (2) 除根结点d0外,D上每个结点d(若有的话),总存在一个唯一的结点dD,dd,使得R。 (3)若T-d0非空,则T-d0可分成m个(m0)不相交的集合T1,T2,.,Tm,而且这些集合中的每一个又都是满足本。

11、第6章 树和二叉树,6.1 树的定义和基本术语 6.2二叉树 6.3遍历二叉树和线索二叉树 6.4 树和森林 6.5 哈夫曼树和应用,6.2.1二叉树的定义 定义:二叉树是n(n0)个结点的有限集,它或为空树(n=0),或由一个根结点和两棵分别称为左子树和右子树的互不相交的二叉树构成 特点 每个结点至多有二棵子树 二叉树的子树有左、右之分,且其次序不能任意颠倒 五种基本形态,6.2 二叉树,基本术语 结点(node)表示树中的元素,包括数据项及若干指向其子树的分支 结点的度(degree)结点拥有的其子树分支个数 叶子(leaf)度为0的结点 树的度一棵树中最大的结点度。

12、第六章 树和二叉树,6.1 树的类型定义,6.2 二叉树的类型定义,6.3 二叉树的存储结构,6.4 二叉树的遍历,6.6 树和森林的表示方法,6.7 树和森林的遍历,6.8 赫夫曼树与赫夫曼编码,数据对象 D:,D是具有相同特性的数据元素的集合。,若D为空集,则称为空树;否则:(1) 在D中存在唯一的称为根的数据元素root,(2) 当n1时,其余结点可分为m (m0)个互不相交的有限集T1, T2, , Tm, 其中每一棵子集本身又是一棵符合本定义的树,称为根root的子树。,数据关系 R:,基本操作:,查 找 类,插 入 类,删 除 类,Root(T) / 求树的根结点,查找类:,Value(T, cur_e) 。

13、1,第六章 二叉树,教学内容: 6.1 定义与性质6.2 存储实现基本操作的实现6.3 二叉树的遍历6.4 线索二叉树6.5 二叉树的应用 教学目的: 深刻理解二叉树的定义、性质及其存储方法; 熟练掌握二叉树的二叉链表存储方式、结点结构和类型定义; 理解并掌握二叉树的三种遍历算法; 掌握二叉树的线索化方法; 灵活运用二叉树的遍历方法解决相关的应用问题。,2,教学重点: 二叉树的定义、逻辑特点及性质,在二叉树上定义的基本运算; 二叉树的链式存储结构及其类型说明,二叉树的顺序存储结构及其类型说明; 二叉树链式存储结构的组织方式; 二叉树。

14、2019/7/31,第6章 图,1,第6章 图,图的基本概念及基本术语图的存储结构图的遍历图的应用,图属于非线性数据结构的一种。 树结构中数据元素之间的关系:一对多的关系。 图结构中数据元素之间的关系:多对多的关系。,2019/7/31,第6章 图,2,6.1、图的基本概念,图是由结点集合(vertex)及结点间的关系 集合组成的一种数据结构:Graph( V, E ) 其中 V = x | x 某个数据对象 是结点的有穷非空集合;E = (x, y) | x, y V 是结点之间关系的有穷集合,也叫做边(edge)集合。,1.图:,2019/7/31,第6章 图,3,有向图 Graph( V, E ) V :是结点的有穷非空集合。

15、第九章 查找表,何谓查找表 ?,查找表是由同一类型的数据元素(或记录)构成的集合。,由于“集合”中的数据元素之间存在着松散的关系,因此查找表是一种应用灵便的结构。,对查找表经常进行的操作:,1)查询某个“特定的”数据元素是否在查找表中; 2)检索某个“特定的”数据元素的各种属性; 3)在查找表中插入一个数据元素; 4)从查找表中删去某个数据元素。,仅作查询和检索操作的查找表。,静态查找表,有时在查询之后,还需要将“查询”结果为“不在查找表中”的数据元素插入到查找表中;或者,从查找表中删除其“查询”结果为“在查找表中。

16、数据结构-第六章 树和二叉树,1,第六章 树和二叉树,6.1 树的定义和基本术语 6.2 二叉树及其存储结构 6.3 遍历二叉树 6.4 线索二叉树 6.5 赫夫曼树及其应用 6.6 树和森林 6.7 二叉树和树的应用示例 本章学习要点、习题与上机作业,数据结构-第六章 树和二叉树,2,6.1 树的定义和基本术语,树是一类重要的非线性数据结构,是以分支关系定义的层次结构。6.1.1 树的定义树是由n(n0)个结点组成的有限集合T,非空树满足:1)有一个称之为根(root)的结点。2)当n1时,除根以外的其余结点被分成m(m0)个互不相交的集合T1, T2 , Tm,其中每一个集合本身。

17、第6章 图,6.1 图的基本概念 6.2 图的存储结构 6.3 图的遍历 6.4 最小生成树 6.5 最短路径和拓扑排序,6.1 图的基本概念,6.1.1 图的定义 图的定义 :图可用二元组表示:Graph=(V,E),其中V表示元素(顶点)的非空有限集合;E表示元素之间关系(边)的有限集集合,边是顶点偶对。可以看出图的每个结点有任意多个前驱和后继结点。 有向图和无向图 子图,6.1 图的基本概念,6.1.2 常用术语 完全图 :在一个有n个顶点的无向图中,若每个顶点到其它(n-1)顶点都有一条边,则图中有n个顶点且有(n*(n-1)/2)条边的图称为无向完全图 邻接点 :对无。

18、数据结构习题第6章,吉林大学计算机科学与技术学院 谷方明,6-1,递归函数F(n)=F(n-1)+n+1(n1)的递归终止条件是 . A F(0)=0 B F(1)=1 C F(0)=1 D F(n)=n,参考答案,B,6-2,函数F(x, y)定义为F(2, 1)的值是 .A 1 B 2 C 3 D 4,参考答案,D,6-3,设有一个递归算法如下: int fact (int n) if (n=0) return 1;else return fact(n-1); 下面叙述正确的是 . A 计算fact(n)需要执行n-1次递归调用 B fact(70)=5040 C 此递归算法最多只能计算到fact(8) D 以上结论都不对,参考答案,D,6-6,有如下递归函数: double pow(double x, int n) if(n = 0) return 1.0;。

19、第六章 树和二叉树,6.1 树的类型定义,6.2 二叉树的类型定义,6.3 二叉树的存储结构,6.4 二叉树的遍历,6.5 线索二叉树,6.6 树和森林的表示方法,6.7 树和森林的遍历,6.8 哈夫曼树与哈夫曼编码,6.1 树的类型定义,数据对象 D:,D是具有相同特性的数据元素的集合。,若D为空集,则称为空树;否则:(1) 在D中存在唯一的称为根的数据元素root,(2) 当n1时,其余结点可分为m (m0)个互不相交的有限集T1, T2, , Tm, 其中每一棵子集本身又是一棵符合本定义的树,称为根root的子树。,数据关系 R:,基本操作:,查 找 类,插 入 类,删 除 类,Root(T) / 求树的。

【数据结构6】相关PPT文档
数据结构 第6章递归.ppt
数据结构第6章递归.ppt
数据结构-第6章-树.ppt
数据结构第6章(3).ppt
数据结构_数据结构10.ppt
数据结构 第章数据结构.ppt
数据结构 第6章.ppt
数据结构第6课.ppt
数据结构-第6章.ppt
数据结构第6章.ppt
数据结构 Ch6.ppt
数据结构chap6.ppt
数据结构(第6章).ppt
数据结构6图.ppt
数据结构课件 (6).ppt
北邮算法与数据结构6.ppt
数据结构与算法分析6.ppt
数据结构习题课6.ppt
数据结构6.ppt
标签 > 数据结构6[编号:185750]

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报