数据结构与算法.pptx
《数据结构与算法.pptx》由会员分享,可在线阅读,更多相关《数据结构与算法.pptx(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1页2023/2/14 23:15本章内容本章内容 1.1 1.1 算法算法 1.2 1.2 数据结构基本概念数据结构基本概念 1.5 1.5 线性链表线性链表 1.6 1.6 树与二叉树树与二叉树 1 1.7.7 查找技术查找技术 1.3 1.3 线性表及其顺序存储结构线性表及其顺序存储结构 1.4 1.4 栈和栈和队列队列 1.8 1.8 排序技术排序技术第1页/共62页第2页2023/2/14 23:151.1 算法算法1.1.1 算法的基本概念算法的基本概念 1.算法的基本特征算法的基本特征 算法是指解决问题方案的准确而完整的描述。即用来完算法是指解决问题方案的准确而完整的描述。即用
2、来完成某个特定任务的正确的、有限步骤序列。成某个特定任务的正确的、有限步骤序列。第2页/共62页第3页2023/2/14 23:15例题:例题:算法的有穷性是指算法的有穷性是指A)算法程序的运行时间是有限的算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的算法程序所处理的数据量是有限的C)算法程序的长度是有限的算法程序的长度是有限的D)算法只能被有限的用户使用算法只能被有限的用户使用下列叙述正确的是下列叙述正确的是A)算法的执行效率与数据的存储结构有关算法的执行效率与数据的存储结构有关B)算法的空间复杂度是指算法程序中指令(或语句)的算法的空间复杂度是指算法程序中指令(或语句)的条数
3、条数C)算法的有穷性是指算法必须能在执行有限个步骤之后算法的有穷性是指算法必须能在执行有限个步骤之后终止终止D)以上三种说法都不对以上三种说法都不对第3页/共62页第4页2023/2/14 23:15一个算法由两个基本要素组成:一个算法由两个基本要素组成:1)对数据对象的运算和操作对数据对象的运算和操作 包括以下四类:包括以下四类:算术运算算术运算逻辑运算逻辑运算关系运算关系运算数据传输数据传输 2)算法的控制结构算法的控制结构算法中各操作之间的执行顺序称为算法的控制结构。算法中各操作之间的执行顺序称为算法的控制结构。描述算法的工具包括自然语言描述、程序设计语言描述、描述算法的工具包括自然语言
4、描述、程序设计语言描述、流程图描述等。流程图描述等。一个算法一般可以用顺序、选择、循环三种基本结构组一个算法一般可以用顺序、选择、循环三种基本结构组合而成。合而成。2.算法的基本要素算法的基本要素第4页/共62页第5页2023/2/14 23:153.算法设计基本方法算法设计基本方法n 列举法列举法n 归纳法归纳法n 递推递推n 递归递归n 减半递推技术减半递推技术n 回溯法回溯法第5页/共62页第6页2023/2/14 23:15算法的复杂度包括时间复杂度和空间复杂度。算法的复杂度包括时间复杂度和空间复杂度。1 1)算法的时间复杂度:算法的时间复杂度:是指执行算法所需要的计算工作量。是指执行
5、算法所需要的计算工作量。2 2)算法的空间复杂度:算法的空间复杂度:是指执行算法所需要的存储空间。是指执行算法所需要的存储空间。1.1.2 算法复杂度算法复杂度 第6页/共62页第7页2023/2/14 23:15 算法的时间复杂度算法的时间复杂度 一般把程序运行时一般把程序运行时语句的执行次数语句的执行次数作为估算程序执行时间作为估算程序执行时间的量度。的量度。例:例:估算以下函数的时间复杂度。估算以下函数的时间复杂度。Dim Dim a(5)As Integer a(5)As IntegerConst n=5Const n=5k=0 k=0 执行执行 1 次次 for i=1 To n S
6、tep 1 for i=1 To n Step 1 执行执行 n 次次 if a(i)a(k)Then k=i if a(i)0)个数据元素的有限集合。它满足以下两个数据元素的有限集合。它满足以下两个条件:个条件:有且仅有一个特定的称为根的元素;有且仅有一个特定的称为根的元素;其余元素分为(其余元素分为()个互不相交的有限集)个互不相交的有限集合合1、2、,其中每个集合又都是一棵树并、,其中每个集合又都是一棵树并称其为根的称其为根的子树子树。树形结构是一类非常重要的树形结构是一类非常重要的非线性结构,适合于描述数据元非线性结构,适合于描述数据元素之间的层次关系素之间的层次关系。1.6.1 树的
7、基本概念树的基本概念第44页/共62页第45页2023/2/14 23:15树的常用术语树的常用术语 双亲双亲、子女子女、边边:若结点:若结点y是结点是结点x的一棵子树的根,则的一棵子树的根,则x称做称做y的的“双亲双亲”y称做称做x的的“子女子女”;有序对;有序对 称做从称做从x到到y的的“边边”。兄弟兄弟:具有同一双亲的结点:具有同一双亲的结点。路径路径、路径长度路径长度:若树中存在着一个结点的序列:若树中存在着一个结点的序列12j,使使ki是是ki+1(1ij)的双亲,则称该结点序列为从)的双亲,则称该结点序列为从k1到到kj的一条路径;的一条路径;路径长度等于路径长度等于j-1,它是该
8、路径所经过的边的数目,它是该路径所经过的边的数目。结点的层数结点的层数:根结点层数为:根结点层数为1,其余结点层数等于其双亲结点层数,其余结点层数等于其双亲结点层数加加1。树的深度(高度)树的深度(高度):即树中层数最大的结点的层数:即树中层数最大的结点的层数。结点的度数结点的度数、树的度数树的度数:一个结点子女的个数称为该结点的:一个结点子女的个数称为该结点的“度度数数”。树中度数最大的结点的度数叫做树中度数最大的结点的度数叫做“树的度数树的度数”。树叶树叶、分支结点分支结点:度数为:度数为0的结点叫做的结点叫做“树叶树叶”;度数大于;度数大于0的结的结点叫做点叫做“分支结点分支结点”或或“
9、内结点内结点”。第45页/共62页第46页2023/2/14 23:15树的常用术语举例树的常用术语举例 是的是的双亲双亲,是的,是的子女子女,是从到的是从到的边边。、互为、互为兄弟兄弟,而和不是兄弟,而和不是兄弟 。ADINADIN是从结点到结点的一条是从结点到结点的一条路径路径,其,其长度长度为为 。层数层数为为 的结点有,的结点有,层数层数为的结点有、为的结点有、。树的深度树的深度为为 。、的、的度数度数分别为、;分别为、;树的度数树的度数为为 。、都是、都是树叶树叶,其余结点都是,其余结点都是分支结点分支结点 。森 林第46页/共62页第47页2023/2/14 23:151.6.2
10、二叉树及其基本性质二叉树及其基本性质 二叉树二叉树是是n(n0)个结点的有限集合。它或者是空集)个结点的有限集合。它或者是空集(n0),或者由一个根结点及两棵互不相交的、分别称为),或者由一个根结点及两棵互不相交的、分别称为这个根的左子树和右子树的二叉树组成。这个根的左子树和右子树的二叉树组成。1.什么是什么是二叉二叉树树 二叉树五种基本形态二叉树五种基本形态 二叉树最多有两个子树,且子树有左、右之分,而树的二叉树最多有两个子树,且子树有左、右之分,而树的子树不分左右。子树不分左右。二叉树可以是空,而树不能为空。二叉树可以是空,而树不能为空。树和二叉树的差别树和二叉树的差别第47页/共62页第
11、48页2023/2/14 23:15二叉树的性质二叉树的性质性质性质 二叉树第二叉树第 i i 层上的结点数目最多为层上的结点数目最多为2 2k-1k-1(K K1 1)。)。性质性质 深度为深度为m m的二叉树至多有的二叉树至多有2 2m m-1-1个结点(个结点(k k)。)。性质性质 在任意一棵二叉树中,度数为在任意一棵二叉树中,度数为0 0的结点的个数总比度为的结点的个数总比度为2 2的结点的结点多一个。多一个。2.二叉树的性质二叉树的性质3.两种特殊的二叉树:满二叉树与完全二叉树两种特殊的二叉树:满二叉树与完全二叉树满二叉树满二叉树 完全二叉树完全二叉树第48页/共62页第49页20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 算法
限制150内