第二章数据结构与算法精选PPT.ppt
《第二章数据结构与算法精选PPT.ppt》由会员分享,可在线阅读,更多相关《第二章数据结构与算法精选PPT.ppt(111页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章数据结构与算第二章数据结构与算法法第1页,本讲稿共111页2考试方式考试方式v1、考试形式、考试形式v无纸化考试全部采用上机考试的方式进行考试,取消原来的纸质试卷。考生只参加一次考试,合格即可拿到证书。无纸化考试因为不需要再分笔试和机试,因此不再有补考。考生若未能通过考试,则下次必须全部重考。从整体上来说,无纸化考试相对于传统考试,难度有所降低。第2页,本讲稿共111页考试方式考试方式v2、考试题型、考试题型v全国计算机等级考试二级无纸化考试中,共有4个大题。第一个大题为单项选择题;其余三个大题为上机操作题。单选题为四选一或三选一,共40分,考40个小题。v二级考试各科上机操作题均考3个
2、大题,共60分。3第3页,本讲稿共111页4考试内容:第一章考试内容:第一章1.数据库的基本概念:数据库,数据库管理系统,数据库系统。2.数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。第4页,本讲稿共111页5考试内容:第二章考试内容:第二章1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。3.线性表的定义;线性表的顺序
3、存储结构及其插入与删除运算。4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。5.线性单链表、双向链表与循环链表的结构及其基本运算。6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。第5页,本讲稿共111页6考试内容:第三章考试内容:第三章1.程序设计方法与风格。2.结构化程序设计。3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。第6页,本讲稿共111页7考试内容:第四章考试内容:第四章1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。2.结构化分析方法,数
4、据流图,数据字典,软件需求规格说明书。3.结构化设计方法,总体设计与详细设计。4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。5.程序的调试,静态调试与动态调试。第7页,本讲稿共111页8学习方法学习方法v基本概念要理解v理解的基础上适当记忆一些概念v多做练习,从练习中总结v与所学的知识结合起来,以增加对知识的理解能力第8页,本讲稿共111页第二章第二章数据结构与算法数据结构与算法9第9页,本讲稿共111页本章主要内容本章主要内容v算法算法算法算法v数据结构数据结构数据结构数据结构 数据结构研究的主要内容数据结构研究的主要内容数据结构研究的主
5、要内容数据结构研究的主要内容 基本概念和术语基本概念和术语基本概念和术语基本概念和术语 数据结构类型数据结构类型数据结构类型数据结构类型 线性结构和非线性结构线性结构和非线性结构线性结构和非线性结构线性结构和非线性结构 顺序存储与链式存储顺序存储与链式存储顺序存储与链式存储顺序存储与链式存储 线性表线性表线性表线性表 栈和队列栈和队列栈和队列栈和队列 线性链表线性链表线性链表线性链表 树与二叉树树与二叉树树与二叉树树与二叉树 查找和排序查找和排序查找和排序查找和排序 图图图图第10页,本讲稿共111页2.1 2.1 算法算法v算法的基本概念算法的基本概念算法:解题方案的准确而完整的描述。算法:
6、解题方案的准确而完整的描述。算法的基本特征:算法的基本特征:是一组严谨地定义运算顺序的规则,每一个是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。规则都是有效的,是明确的,此顺序将在有限的次数下终止。算法不算法不等于程序,程序不可能优于算法。等于程序,程序不可能优于算法。基本特性基本特性可行性:根据实际问题设计的算法,执行得到满意结果可行性:根据实际问题设计的算法,执行得到满意结果确定性:每一步骤必须有明确定义,不允许有多义性。确定性:每一步骤必须有明确定义,不允许有多义性。有穷性:算法必须能在有限的时间内做完。有穷性:算法必须能在有限的时间内做完。
7、输入和输出:拥有足够的情报,方可执行。输入和输出:拥有足够的情报,方可执行。第11页,本讲稿共111页2.1 2.1 算法算法v算法的基本要素算法的基本要素1.1.对数据对象的运算和操作对数据对象的运算和操作算术运算:、算术运算:、等运算等运算逻辑运算:逻辑运算:and and、oror、notnot等运算等运算关系运算:关系运算:、=、=、!=!=等运算等运算数据传输:赋值、输入、输出等操作数据传输:赋值、输入、输出等操作2.2.算法的控制结构算法的控制结构算法中各操作之间的执行顺序算法中各操作之间的执行顺序描述算法的工具通常有描述算法的工具通常有传统流程图传统流程图、N-SN-S结构化流程
8、图结构化流程图、算法描述语言算法描述语言等等算法可以用算法可以用顺序、选择、循环顺序、选择、循环三种基本结构组合而成。三种基本结构组合而成。第12页,本讲稿共111页2.1 2.1 算法算法v算法设计基本方法算法设计基本方法(1 1)列举法:)列举法:根据问题,列举所有可能的情况,并用问题中给定根据问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。的条件检验哪些是需要的,哪些是不需要的。(2 2)归纳法:)归纳法:通过列举少量的特殊情况,经过分析,最后找通过列举少量的特殊情况,经过分析,最后找出一般的关系。出一般的关系。(3 3)递推:)递推:是指从已知的初始条件
9、出发,逐次推出所要求的各是指从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。中间结果和最后结果。(4 4)递归:)递归:将问题逐层分解的过程。将问题逐层分解的过程。(5 5)减半递推技术:)减半递推技术:“减半减半”,是指将问题规模减半,而问题,是指将问题规模减半,而问题性质不变;性质不变;“递推递推”,是指重复,是指重复“减半减半”过程。过程。(6 6)回溯法:)回溯法:分析问题,找出一个解决总线索,然后沿着这个线索分析问题,找出一个解决总线索,然后沿着这个线索逐步试探。逐步试探。第13页,本讲稿共111页2.1 2.1 算法算法v算法的复杂度:时间复杂度、空间复杂度算法的复杂度
10、:时间复杂度、空间复杂度算法的时间复杂度算法的时间复杂度算法时间复杂度是指执行算法所需要的算法时间复杂度是指执行算法所需要的计算工作量计算工作量。工作量用算法所执行的工作量用算法所执行的基本运算次数基本运算次数来度量,而算法所来度量,而算法所执行的基本运算次数是问题规模的函数,即执行的基本运算次数是问题规模的函数,即 算法的工作量算法的工作量=f(n)=f(n)O(1)常量级 O(n)线性级 O(n2)平方级第14页,本讲稿共111页时间复杂度举例举例举例1X=X+1 S=0执行次数:执行次数:2时间复杂度:时间复杂度:O(1)此算法的基本操作是赋值语句。执行两条语句各一此算法的基本操作是赋值
11、语句。执行两条语句各一次,共次,共2次次,与规模无关。时间复杂度为与规模无关。时间复杂度为(1),即常,即常量阶。量阶。第15页,本讲稿共111页时间复杂度举例举例举例2For i=1 to n x=x+1 s=s+xNext i v执行次数为:执行次数为:2nv其时间复杂度为:其时间复杂度为:O(n)v即时间复杂度为线性阶。即时间复杂度为线性阶。第16页,本讲稿共111页时间复杂度举例举例举例3For i=1 to n For j=1 to n x=x+1 s=s+x next jNext i v执行次数执行次数2n2v其时间复杂度为:其时间复杂度为:O(n2)v即时间复杂度为平方阶。即时间
12、复杂度为平方阶。基本语句基本语句第17页,本讲稿共111页例,例,for (j=1 1;j=n;j+)X=X+1 1;for (i=1 1;i=n;i+)(c)for (i=1 1;i=n;i+)X=X+1 1;(b)X=X+1 1;(a)基本操作重复执行的次数分别为基本操作重复执行的次数分别为1,n,n2第18页,本讲稿共111页2.1 2.1 算法算法算法空间复杂度算法空间复杂度算法空间复杂度是指执行这个算法所需要的算法空间复杂度是指执行这个算法所需要的内存空间内存空间。存储空间包括:存储空间包括:算法程序所占的空间算法程序所占的空间输入数据所占的空间输入数据所占的空间算法执行过程中所需要
13、的额外空间。算法执行过程中所需要的额外空间。第19页,本讲稿共111页2.2.1 2.2.1 数据结构研究的主要内容数据结构研究的主要内容v当今计算机应用的特点当今计算机应用的特点所处理的数据量大且具有一定的关系;所处理的数据量大且具有一定的关系;对其操作不再是单纯的数值计算,而更多地是需要对其进行组织、对其操作不再是单纯的数值计算,而更多地是需要对其进行组织、管理和检索。管理和检索。应用举例应用举例1 1学籍档案管理学籍档案管理 假设一个学籍档案管理系统应包含如下表所示的学生信息。假设一个学籍档案管理系统应包含如下表所示的学生信息。第20页,本讲稿共111页v特点特点每个学生的信息占据一行,
14、所有学生的信息每个学生的信息占据一行,所有学生的信息按学号顺序按学号顺序依次排依次排列构成一张表格;列构成一张表格;表中每个学生的信息依据学号的大小存在着一种表中每个学生的信息依据学号的大小存在着一种前后关系前后关系.对它的操作通常是对它的操作通常是插入插入某个学生的信息,某个学生的信息,删除删除某个学生的信息,某个学生的信息,更新更新某个学生的信息,按条件某个学生的信息,按条件检索检索某个学生的信息等等。某个学生的信息等等。2.2.1数据结构研究的主要内容数据结构研究的主要内容第21页,本讲稿共111页应用举例应用举例2 2制定教学计划制定教学计划 在制定教学计划时,需要考虑在制定教学计划时
15、,需要考虑各门课程的开设顺序各门课程的开设顺序。有些课程需要先。有些课程需要先导课程,有些则不需要导课程,有些则不需要;而有些课程又是其他课程的先导课程。比如,计而有些课程又是其他课程的先导课程。比如,计算机专业课程的开设情况如下表所示:算机专业课程的开设情况如下表所示:2.2.1数据结构研究的主要内容数据结构研究的主要内容第22页,本讲稿共111页课程先后关系的图形描形式课程先后关系的图形描形式课程先后关系的图形描形式课程先后关系的图形描形式c1c9c4c2c12c10c11c5c3c6c7c82.2.1数据结构研究的主要内容数据结构研究的主要内容v特点特点特点特点课程的先后关系用课程的先后
16、关系用图结构描述;图结构描述;通过实施创建图结构,通过实施创建图结构,按要求将图结构中的按要求将图结构中的顶点进行线性排序。顶点进行线性排序。第23页,本讲稿共111页v 数据结构主要研究以下三个方面的问题:数据结构主要研究以下三个方面的问题:数据的逻辑结构:数据的逻辑结构:数据集合中各元素的信息,及元素之间所固数据集合中各元素的信息,及元素之间所固有的逻辑关系(有的逻辑关系(前后件关系前后件关系)数据的存储结构:数据的存储结构:各数据元素在计算机中的存储关系各数据元素在计算机中的存储关系对各种数据结构进行的运算对各种数据结构进行的运算 主要目的是为了提高数据的效率。主要目的是为了提高数据的效
17、率。所谓提高数据处理的所谓提高数据处理的效率,主要包括两个方面:一是提高数据处理的速度,二是尽量节省在数效率,主要包括两个方面:一是提高数据处理的速度,二是尽量节省在数据处理过程中所占用的计算机存储空间。据处理过程中所占用的计算机存储空间。2.2.1数据结构研究的主要内容数据结构研究的主要内容数据结构研究的主要内容数据结构研究的主要内容第24页,本讲稿共111页数据结构是一门研究数据结构是一门研究数据数据组织组织、存存储储和和运算运算的一般方法的学科。的一般方法的学科。是相互有关联的是相互有关联的数据元素的集合。数据元素的集合。2.2.22.2.2基本概念和术语基本概念和术语第25页,本讲稿共
18、111页能输入到计算机中能输入到计算机中并能被计算机程序处理的并能被计算机程序处理的符号的集合。符号的集合。整数整数(1,2)(1,2)、实数、实数(1.1,1.2)(1.1,1.2)字符串字符串(Beijing)(Beijing)、图形、声音。图形、声音。数据结构是一门研究数据结构是一门研究数据数据组织组织、存存储储和和运算运算的一般方法的学科。的一般方法的学科。2.2.2基本概念和术语基本概念和术语第26页,本讲稿共111页计计算机管理算机管理算机管理算机管理图书问题图书问题 图书馆里有各种卡片:有按里有各种卡片:有按书名名编排的、有按作者排的、有按作者编排排的、有按分的、有按分类编排。排
19、。如何将如何将查询图书的的这些信息存入些信息存入计算机中既要考算机中既要考虑查询时间短,又要考短,又要考虑节省空省空间 数据结构是一门研究数据结构是一门研究数据数据组织组织、存储存储和和运算运算的一般方法的学科。的一般方法的学科。2.2.2基本概念和术语基本概念和术语第27页,本讲稿共111页 最最简单的的办法之一是建立一法之一是建立一张表表,每一本,每一本书的信息在的信息在表中占一行,如表中占一行,如 数据结构是一门研究数据结构是一门研究数据数据组织组织、存储存储和和运算运算的一般方法的学科。的一般方法的学科。2.2.2基本概念和术语基本概念和术语第28页,本讲稿共111页 如何将如何将0,
20、1,2,3,4,5,6,7,8,90,1,2,3,4,5,6,7,8,9这这1010个数存放在个数存放在计算机中能最快地达到你所需要的目的?算机中能最快地达到你所需要的目的?目的不同,目的不同,最佳最佳的存的存储方方法就不同。方方法就不同。从大到小排列:从大到小排列:9,8,7,6,5,4,3,2,1,09,8,7,6,5,4,3,2,1,0输出偶数:出偶数:0,2,4,6,8,1,3,5,7,90,2,4,6,8,1,3,5,7,9 数据元素在数据元素在计算机中的表示算机中的表示 数据结构是一门研究数据结构是一门研究数据数据组织组织、存存储储和和运算运算的一般方法的学科。的一般方法的学科。2
21、.2.22.2.2基本概念和术语基本概念和术语基本概念和术语基本概念和术语第29页,本讲稿共111页对数据数据结构中的构中的节点点进行操作行操作处理理(插入、插入、删除、修改、除、修改、查找、排序找、排序)数据结构是一门研究数据结构是一门研究数据数据组织组织、存储存储和和运算运算的一般方法的学科。的一般方法的学科。2.2.2基本概念和术语基本概念和术语第30页,本讲稿共111页数据元素数据元素数据元素数据元素(Data Element)(Data Element)数据元素数据元素是数据的是数据的基本单位基本单位,即数据集合中的个体。,即数据集合中的个体。有时一个数据元素可由若干有时一个数据元素
22、可由若干数据项数据项(Data Item)(Data Item)组成。组成。数据项数据项是数据的最小单位。是数据的最小单位。数据元素亦称数据元素亦称节点节点或或记录记录。2.2.2基本概念和术语基本概念和术语第31页,本讲稿共111页数据结构可描述为数据结构可描述为 Group=Group=(D D,R R)有限个数据元素的集合有限个数据元素的集合有限个节点间关系的集合有限个节点间关系的集合2.2.2基本概念和术语基本概念和术语第32页,本讲稿共111页 1数据的逻辑结构数据的逻辑结构 2、数据的存储结构、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。、数据的运算:检索、排序、
23、插入、删除、修改等。A线性结构线性结构B非线性结构非线性结构A 顺序存储顺序存储 B 链式存储链式存储线性表线性表栈栈队队树形结构树形结构图形结构图形结构数数据据结结构构的的三三个个方方面面2.3数据结构类型数据结构类型第33页,本讲稿共111页2.3.1线性结构和非线性结构线性结构和非线性结构线性结构和非线性结构线性结构和非线性结构v 线性结构条件线性结构条件线性结构条件线性结构条件(1 1)有且只有一个根结点;)有且只有一个根结点;(2 2)每一个结点最多有一个前件(前驱),也最多有一个后件(后)每一个结点最多有一个前件(前驱),也最多有一个后件(后驱)。驱)。(3 3)首节点无前件,尾节
24、点无后件。)首节点无前件,尾节点无后件。v非线性结构:非线性结构:非线性结构:非线性结构:不满足线性结构条件的数据结构不满足线性结构条件的数据结构v注意:注意:在一个线性结构中插入或删除任何一个节点后还应是线性结在一个线性结构中插入或删除任何一个节点后还应是线性结构;否则,不能称为线性结构。构;否则,不能称为线性结构。学学学学 生生生生 成成成成 绩绩绩绩 表表表表8686胡孝臣胡孝臣986110398611039595刘忠刘忠赏98611079861107100100张卓卓98611099861109成成绩姓名姓名学号学号第34页,本讲稿共111页2.3.12.3.1线性结构和非线性结构线性
25、结构和非线性结构全校学生档案管理的树形结构的组织方式全校学生档案管理的树形结构的组织方式全校学生档案管理的树形结构的组织方式全校学生档案管理的树形结构的组织方式非线性非线性结构结构v 树形结构树形结构第35页,本讲稿共111页ABCDEFGH树形结构树形结构树形结构树形结构 结点间具有分层次的连接关系结点间具有分层次的连接关系结点间具有分层次的连接关系结点间具有分层次的连接关系HBCDEFGA2.3.1线性结构和非线性结构线性结构和非线性结构v 树形结构树形结构第36页,本讲稿共111页2.3.12.3.1线性结构和非线性结构线性结构和非线性结构v 图形结构:节点间的连接任意图形结构:节点间的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 数据结构 算法 精选 PPT
限制150内