二级Access数据结构与算法1课件_第1页
二级Access数据结构与算法1课件_第2页
二级Access数据结构与算法1课件_第3页
二级Access数据结构与算法1课件_第4页
二级Access数据结构与算法1课件_第5页
已阅读5页,还剩151页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国计算机等级考试

二级公共基础知识

全国计算机等级考试

二级公共基础知识

基本要求

1.掌握算法的基本概念。2.掌握基本数据结构及其操作。3.掌握基本排序和查找算法。4.掌握逐步求精的结构化程序设计方法。5.掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。6.掌握数据的基本知识,了解关系数据库的设计。2基本要求1.掌握算法的基本概念。2考试内容

一、基本数据结构与算法

1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。5.线性单链表、双向链表与循环链表的结构及其基本运算。6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。

3考试内容

一、基本数据结构与算法1.算法的基本概念;算二、程序设计基础1.程序设计方法与风格。2.结构化程序设计。3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。4二、程序设计基础1.程序设计方法与风格。4三、软件工程基础1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。3.结构化设计方法,总体设计与详细设计。4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。5.程序的调试,静态调试与动态调试。5三、软件工程基础1.软件工程基本概念,软件生命周期概念,四、数据库设计基础1.数据库的基本概念:数据库,数据库管理系统,数据库系统。2.数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。6四、数据库设计基础1.数据库的基本概念:数据库,数据库管理考试方式1、公共基础的考试方式为笔试,与C语言(VisualBASIC、VisualFoxPro、Java、Access、VisualC++)的笔试部分合为一张试卷。公共基础部分占全卷的30分。2、公共基础知识有10道选择题和5道填空题。7考试方式1、公共基础的考试方式为笔试,与C语言(Visua学习方法理解基本概念多做练习适当记忆一些名词与所学的VBA程序设计知识结合起来,以增加对知识的理解能力8学习方法理解基本概念81.基本数据结构与算法1.1算法1.1.1算法(algorithm)基本概念对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。它是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。算法具有有穷性、确定性、可行性、输入和输出(拥有足够的情报)等5个重要特性。91.基本数据结构与算法1.1算法1.1.1算法(al1.1算法的基本概念 算法的定义:一个有穷的指令集,这些指令为解决某一特定问题规定了一个运算序列,即方法和步骤,在计算机学科中,算法就是计算机解决问题的过程或步骤。算法是解题方案的准确而完整的描述。算法等于程序?等于计算方法?101.1算法的基本概念 算法的定义:一个有穷的指令集,这些结构化程序算法的特性如下。(1)可行性算法中的操作能够用已经实现的基本运算执行有限次来实现。(2)确定性算法中的每一步都有确切的含义。(3)有穷性一个算法(对任何合法的输入)在执行有穷步后能够结束,并且在有限的时间内完成。(4)拥有足够的情报当算法拥有足够的情报,此算法才是有效的。

考点1:算法的定义

例2.1.1

问题处理方案的正确而完整的描述称为______。[2005年4月填空第5题]

例2.1.2算法具有4个特性,以下选项中不属于算法特性的是(

A.有穷性

B.简洁性

C.可行性

D.确定性

11结构化程序算法的特性如下。

考点1:算法的定义

1.1.2算法的基本要素1、对数据对象的运算和操作算术运算逻辑运算关系运算数据传输2、算法的控制结构算法中各操作之间的执行顺序描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等一个算法一般可以用顺序、选择、循环三种基本机构组合而成。121.1.2算法的基本要素121.1.3算法设计基本方法列举法归纳法递推递归(以简洁的形式设计和描述算法)减半递推技术回溯法131.1.3算法设计基本方法131.2算法复杂度1.2.1时间复杂度依据算法算法编制的程序在计算机上运行时所消耗的时间来度量。通常有事后统计法和事前分析估算法。一个算法是由控制结构(顺序、分支和循环)和原操作构成的,算法时间取决于两者的综合效果。算法中基本操作重复执行次数n和算法执行时间同步增长,称作算法的时间复杂度。141.2算法复杂度1.2.1时间复杂度14

算法的时间复杂度指算法的时间耗费,算法时间是由控制结构和原操作的决定的。算法中基本操作重复执行的次数是问题规模n的某个函数f(n),记作:T(n)=O(f(n)) 它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同。

算法的时间复杂度用来衡量算法执行过程中所需要的基本运算次数。算法的时间复杂度是指算法所需要的计算工作量。

15 算法的时间复杂度指算法的时间耗费,算法时间是由控制结构和原1.2.2算法的空间复杂度一般是指执行这个算法所需要的内存空间一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及某种数据结构所需要的附加存储空间一个上机执行的程序除了需要存储空间来寄存本身所用指令、常数、变量和输入数据外,也需要一些对数据进行操作的工作单元和存储一些为实现计算所需信息的辅助空间。161.2.2算法的空间复杂度16

算法的空间复杂度描述算法的存储空间需求,运行完一个程序所需要的内存大小是问题规模n的某个函数g(n),记作:S(n)=O(g(n)) 它表示随着问题规模n的增大,算法运行所需存储空间的增长率S(n)与g(n)的增长率相同。空间复杂度是指执行这个算法所需要的内存空间。

2007-4真题:17 算法的空间复杂度描述算法的存储空间需求,运行完一个程序所需例题讲解算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数算法的基本特征是可行性、确定性、【1】和拥有足够的情报。算法的空间复杂度是指

A)算法程序的长度 B)算法程序中的指令条数

C)算法程序所占的存储空间D)执行过程中所需要的存储空间18例题讲解算法的时间复杂度是指18在计算机中,算法是指

A)加工方法 B)解题方案的准确而完整的描述

C)排序方法 D)查询方法算法的工作量大小和实现算法所需的存储单元多少分别称为算法的【1】。19在计算机中,算法是指191.2数据结构数据结构的定义数据的逻辑结构和存储结构数据结构的图形表示线性结构与非线性结构201.2数据结构数据结构的定义201.2.1数据结构研究的主要内容当今计算机应用的特点:所处理的数据量大且具有一定的关系;对其操作不再是单纯的数值计算,而更多地是需要对其进行组织、管理和检索。应用举例1——学籍档案管理假设一个学籍档案管理系统应包含如下表1-1所示的学生信息。211.2.1数据结构研究的主要内容当今计算机应用的特点:22222特点:

l 每个学生的信息占据一行,所有学生的信息按学号顺序依次排列构成一张表格;

l 表中每个学生的信息依据学号的大小存在着一种前后关系,这就是我们所说的线性结构;

l 对它的操作通常是插入某个学生的信息,删除某个学生的信息,更新某个学生的信息,按条件检索某个学生的信息等等。应用举例2——输出n个对象的全排列输出n个对象的全排列可以使用下图1-1所示的形式描述。23特点:23图1-13个对象的全排列过程24图1-13个对象的全排列过程24特点:

l 在求解过程中,所处理的数据之间具有层次关系,这是我们所说的树形结构;

l 对它的操作有:建立树形结构,输出最低层结点内容等等。应用举例3——制定教学计划在制定教学计划时,需要考虑各门课程的开设顺序。有些课程需要先导课程,有些课程则不需要,而有些课程又是其他课程的先导课程。比如,计算机专业课程的开设情况如下表1-2所示:25特点:252626课程先后关系的图形描形式:c1c9c4c2c12c10c11c5c3c6c7c8图1-2计算机专业必修课程开设先后关系27课程先后关系的图形描形式:c1c9c4c2c12c10c11特点

l 课程之间的先后关系用图结构描述;

l 通过实施创建图结构,按要求将图结构中的顶点进行线性排序。结论:数据结构主要研究以下三个方面的问题:数据的逻辑结构数据的存储结构对各种数据结构进行的运算

28特点28

数据的逻辑结构:用来描述数据元素之间的逻辑关系。

数据的存储结构:用来描述数据元素及数据元素之间的关系在存储器中的存储形式。*重点提示:

同一逻辑结构的数据可以采用不同存储结构,但影响数据处理效率。

数据的运算:即对数据元素施加的操作。 数据结构的图形表示:用图形来直观地表示数据及其之间的关系。数据结构包括逻辑结构、存储结构和数据的运算3个方面的内容。29 数据的逻辑结构:用来描述数据元素之间的逻辑关系。数据结构包数据结构是一门研究数据组织、存储和运算的一般方法的学科。1.2.2基本概念和术语301.2.2基本概念和术语30能输入到计算机中并能被计算机程序处理的符号的集合。整数(1,2)、实数(1.1,1.2)字符串(Beijing)、图形、声音。1.2.2基本概念和术语数据结构是一门研究数据组织、存储和运算的一般方法的学科。31能输入到计算机中整数(1,2)、实数(1.1,1.2)1.21.2.2基本概念和术语计算机管理图书问题在图书馆里有各种卡片:有按书名编排的、有按作者编排的、有按分类编排如何将查询图书的这些信息存入计算机中既要考虑查询时间短,又要考虑节省空间数据结构是一门研究数据组织、存储和运算的一般方法的学科。321.2.2基本概念和术语计算机管理图书问题最简单的办法之一是建立一张表,每一本书的信息在表中占一行,如1.2.2基本概念和术语数据结构是一门研究数据组织、存储和运算的一般方法的学科。33最简单的办法之一是建立一张表,1.2.2基本概念和术语33如何将0,1,2,3,4,5,6,7,8,9这10个数存放在计算机中能最快地达到你所需要的目的?目的不同,最佳的存储方方法就不同。从大到小排列:9,8,7,6,5,4,3,2,1,0输出偶数:0,2,4,6,8,1,3,5,7,9数据元素在计算机中的表示数据结构是一门研究数据组织、存储和运算的一般方法的学科。1.2.2基本概念和术语34如何将0,1,2,3,4,5,6,7,8,9这10个数存放在对数据结构中的节点进行操作处理(插入、删除、修改、查找、排序)1.2.2基本概念和术语数据结构是一门研究数据组织、存储和运算的一般方法的学科。35对数据结构中的节点进行1.2.2基本概念和术语35数据元素(DataElement)数据元素是数据的基本单位,即数据集合中的个体。有时一个数据元数可由若干数据项(DataItem)组成。数据项是数据的最小单位。数据元素亦称节点或记录。36数据元素(DataElement)数据元素是数据的数据结构可描述为Group=(D,R)有限个数据元素的集合有限个节点间关系的集合37数据结构可描述为Group=(D,R)有限个数据元素的1.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构

B.非线性结构A顺序存储

B链式存储线性表栈队树形结构图形结构数据结构的三个方面数据结构可描述为Group=(D,R)381.数据的逻辑结构2、数据的存储结构3、数据的运算:线性结构

A,B,C,·······,X,Y,Z学生成绩表86胡孝臣986110395刘忠赏9861107100张卓9861109成绩姓名学号线性表——结点间是以线性关系联结39线性结构A,B,C,·······,X,Y树形结构全校学生档案管理的组织方式计算机程序管理系统也是典型的树形结构40树形结构全校学生档案管理的组织方式计算机程序管理系统也是典型ABCDEFGH树形结构——结点间具有分层次的连接关系HBCDEFGA41ADEFGH树形结构——结点间具有分层次的连接关系HBC1.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构B.非线性结构A顺序存储

B链式存储线性表栈队树形结构图形结构数据结构的三个方面(亦称物理结构)421.数据的逻辑结构2、数据的存储结构3、数据的运算:1423

D={1,2,3,4}R={(1,2),(1,3),(1,4),(2,3)(3,4),(2,4)}213

D={1,2,3}R={(1,2),(2,3),(3,2),(1,3)}

图形结构——节点间的连结是任意的431423D={1,2,3,4}21.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构B.非线性结构A顺序存储

B链式存储线性表栈队树形结构图形结构数据结构的三个方面(亦称物理结构)441.数据的逻辑结构2、数据的存储结构3、数据的运算:元素n……..元素i……..元素2元素1LoLo+mLo+(i-1)*mLo+(n-1)*m存储地址存储内容Loc(a)=Lo+(i-1)*m顺序存储每个元素所占用的存储单元个数45元素n……..元素i……..元素2元素1LoLo+mLo+(元素n……..元素i……..元素2元素1存储内容顺序存储结构常用于线性数据结构,将逻辑上相邻的数据元素存储在物理上相邻的存储单元里。顺序存储结构的三个弱点:1.作插入或删除操作时,需移动大量元数。2.长度变化较大时,需按最大空间分配。3.表的容量难以扩充。46元素n……..元素i……..元素2元素1存储内容顺序存储结构1.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构B.非线性结构A顺序存储

B链式存储

线性表栈队树形结构图形结构数据结构的三个方面(亦称物理结构)471.数据的逻辑结构2、数据的存储结构3、数据的运算:1536元素21400元素11346元素3∧元素41345h

链式存储每个节点都由两部分组成:数据域和指针域。数据域存放元素本身的数据,指针域存放指针。数据元素之间逻辑上的联系由指针来体现。481536元素21400元素11346元素3∧元素413451536元素21400元素11346元素3∧元素4head1346元素31536

…….

……..

…….1536元素21400

…….

……..

…….∧元素413461400元素11345指针存储内容存储地址

链式存储1345491536元素21400元素11346元素3∧元素4head1536元素21400元素11346元素3∧元素41345h

链式存储1.比顺序存储结构的存储密度小(每个节点都由数据域和指针愈组成)。2.逻辑上相邻的节点物理上不必相邻。3.插入、删除灵活(不必移动节点,只要改变节点中的指针)。链接存储结构特点:501536元素21400元素11346元素3∧元素413451.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构B.非线性结构A顺序存储

B链式存储线性表栈队树形结构图形结构数据结构的三个方面(亦称物理结构)511.数据的逻辑结构2、数据的存储结构3、数据的运算:线性结构和非线性结构如果一个非空的数据结构满足下列两个条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件则称该数据结构为线性结构(线性表)。如果一个数据结构不是线性结构,则称之为非线性结构。52线性结构和非线性结构如果一个非空的数据结构满足下列两个条件例题讲解数据结构分为逻辑结构与存储结构,线性链表属于【1】。P327

数据结构中,与所使用的计算机无关的是数据的

A)存储结构 B)物理结构

C)逻辑结构 D)物理和存储结构数据的逻辑结构有线性结构和【1】两大类。53例题讲解数据结构分为逻辑结构与存储结构,线性链表属于【1顺序存储方法是把逻辑上相邻的结点存储在物理位置【2】的存储单元中。P317数据处理的最小单位是P309

A)数据B)数据元素C)数据项D)数据结构数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及

A)数据的存储结构B)计算方法C)数据映象D)逻辑存储54顺序存储方法是把逻辑上相邻的结点存储在物理位置【2】的存根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成

A)动态结构和静态结构 B)紧凑结构和非紧凑结构

C)线性结构和非线性结构D)内部结构和外部结构

数据结构包括数据的逻辑结构、数据的【2】以及对数据的操作运算。数据的基本单位是【5】。55根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据下列叙述中,错误的是

A)数据的存储结构与数据处理的效率密切相关

B)数据的存储结构与数据处理的效率无关

C)数据的存储结构在计算机中所占的空间不一定是连续的

D)一种数据的逻辑结构可以有多种存储结构数据的存储结构是指P314A)数据所占的存储空间B)数据的逻辑结构在计算机中的表示C)数据在计算机中的顺序存储方式D)存储在外存中的数据56下列叙述中,错误的是561.3线性表及其顺序存储结构1.3.1线性表的定义线性表是n个元素的有限序列,它们之间的关系可以排成一个线性序列:

a1,a2,……,ai,……,an其中n称作表的长度,当n=0时,称作空表。571.3线性表及其顺序存储结构1.3.1线性表的定义57线性表的特点:1.线性表中所有元素的性质相同。2.除第一个和最后一个数据元素之外,其它数据元素有且仅有一个前驱和一个后继。第一个数据元素无前驱,最后一个数据元素无后继。3.数据元素在表中的位置只取决于它自身的序号。在线性表上常用的运算有:初始化、求长度、取元素、修改、前插、删除、检索、排序。58线性表的特点:581.3.2线性表的顺序存储结构及其插入与删除操作特点:1、线性表中数据元素类型一致,只有数据域,存储空间利用率高。2、所有元素所占的存储空间是连续的3、各数据元素在存储空间中是按逻辑顺序依次存放的2.做插入、删除时需移动大量元素。3.空间估计不明时,按最大空间分配。591.3.2线性表的顺序存储结构及其插入与删除操作特点:5元素an……..元素ai……..元素a2元素a1bb+mb+(i-1)*m

b+(maxlen-1)*m存储地址内存状态Loc(元素i)=b+(i-1)*m顺序存储结构示意图(顺序表):首地址起始地址基地址每个元素所占用的存储单元个数60元素an……..元素ai……..元素a2元素a1bb+mb+元素a1元素a2……..元素ai+1……..01i线性表的顺序存储结构——可用VB语言中的一维数组来描述.DimV[M]Asinteger;

/*V是数组的名字,M是数组大小,假设数组中的元素是整型类型*/第i个元素的ai存储地址:Loc(ai)=Loc(a1)+(i-1)*mV[0]V[1]V[i]V[m-1]61元素a1元素a2……..元素ai+1……..01i线性表的…..a2a1an…..ai+1ai01i-1in-11-1插入运算ai-1…..a2a1alength

…ai+1ai

x

ai-1…..

a2

a1

ai

ai+1

…alength

alength

…ai+1

ai

x62…..a2a1an…..ai+1ai01i-1in-11-OptionBase0Functionintinsq(iAsInteger,xAsInteger,V()AsInteger,MAsInteger,)/*顺序表插入函数*/

/*在线性表V中第i个元素之前插入x,i的合法值为1

in*/

DimnAsInteger,jAsIntegern=UBound(V)/*获取表长*/Ifn=MThen/*M是存储空间的大小*/

print"overflown“ExitFunctionEndIfIf(i<1)or(i>n+1)Thenprint"iiserror“ExitFunction/*i值不合法*/Elseforj=nToiStep-1V(j)=V(j-1)/*插入位置后的元素依次右移*/

NextJV(j)=x/*插入x*/EndIfEndFunction注意数组元素从0开始63OptionBase0注意数组元素从0开始631-2删除运算OptionBaseoFunctiondelsq(iAsInteger,V()AsInteger])/*在线性表V中删除第i个元素*/

DimnAsInteger,jAsIntegern=UBound(V)Ifi<1ori>nThenprint"Thiselementisnotinthelist“ExitFunctionelseForj=ITonV(j-1)=V(j)/*被删除元素之后的元素左移*/

NextJEndifEndFunction641-2删除运算64

插入算法的分析假设线性表中含有n个数据元素,在进行插入操作时,若假定在n+1个位置上插入元素的可能性均等,则平均移动元素的个数为:65插入算法的分析65

删除算法的分析在进行删除操作时,若假定删除每个元素的可能性均等,则平均移动元素的个数为:

分析结论顺序存储结构表示的线性表,在做插入或删除操作时,平均需要移动大约一半的数据元素。当线性表的数据元素量较大,并且经常要对其做插入或删除操作时,这一点需要值得考虑。66删除算法的分析66例题讲解顺序存储方法是把逻辑上相邻的结点存储在物理位置【2】的存储单元中。PPT:P4667例题讲解顺序存储方法是把逻辑上相邻的结点存储在物理位置【2线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是

A)每个元素都有一个直接前件和直接后件

B)线性表中至少要有一个元素

C)表中诸元素的排列顺序必须是由小到大或由大到小

D)除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件P31768线性表L=(a1,a2,a3,…ai,…an),下列说法正确根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成P316

A)动态结构和静态结构 B)紧凑结构和非紧凑结构

C)线性结构和非线性结构D)内部结构和外部结构69根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据下列叙述中,错误的是

A)数据的存储结构与数据处理的效率密切相关

B)数据的存储结构与数据处理的效率无关

C)数据的存储结构在计算机中所占的空间不一定是连续的

D)一种数据的逻辑结构可以有多种存储结构70下列叙述中,错误的是701.4栈和队列1.4.1栈和队列的定义

栈和队列是两种特殊的线性表,它们是运算时要受到某些限制的线性表,故也称为限定性的数据结构。711.4栈和队列1.4.1栈和队列的定义711.4.1.1栈的定义栈:限定只能在表的一端进行插入和删除的特殊的线性表,此种结构称为后进先出(Last_In_First_Out,简称LIFO)或先进后出(FILO)表设栈s=(a1,a2,...,ai,...,an),其中a1是栈底元素,an是栈顶元素。栈顶(top):允许插入和删除的一端;约定top始终指向新数据元素将存放的位置。栈底(bottom):不允许插入和删除的一端。

a1

a2

….

an进栈出栈栈顶栈底721.4.1.1栈的定义a1a2….an队列的主要运算(1)设置一个空队列;(2)插入一个新的队尾元素,称为进队;(3)删除队头元素,称为出队;(4)读取队头元素;1.4.1.2队列的定义定义:一种特殊的线性结构,限定只能在表的一端进行插入,在表的另一端进行删除的线性表。此种结构称为先进先出(FIFO)表。

a1,

a2,

a3,

a4,…………

an-1,

an队列示意图队头队尾73队列的主要运算(1)设置一个空队列;1.4.1.2队列的1.4.2栈的顺序存储结构及其基本运算

a2

a1

a1

a2

top用顺序存储结构表示的栈。

顺序栈用一组连续的存储单元存放自栈底到栈顶的数据元素,一般用一维数组表示,设置一个简单变量top指示栈顶位置,称为栈顶指针,它始终指向待插入元素的位置。基本运算:压(进)栈:PUSH出栈:POP741.4.2栈的顺序存储结构及其基本运算a2

3210(a)rear=front=-1(队空)

e3

e4(c)e1,e2出队,e4入队

队满rear=4front

e1

e2

e3

(b)rearfront(b)e1,e2,e3入队队空时,令rear=front=-1,当有新元素入队时,尾指针加1,当有元素出队时,头指针加1。故在非空队列中,头指针始终指向队头元素前一个位置,而尾指针始终指向队尾元素的位置1.4.3队列的顺序存储结构及其基本运算753210(a)re例题讲解栈和队列的共同特点是

A)都是先进先出B)都是先进后出

C)只允许在端点处插入和删除元素D)没有共同点如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是

A)e3,e1,e4,e2 B)e2,e4,e3,e1C)e3,e4,e1,e2 D)任意顺序一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用

A)栈 B)堆C)数组 D)链表76例题讲解栈和队列的共同特点是76栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是

A)ABCED B)DCBEAC)DBCEA D)CDABE

栈通常采用的两种存储结构是

A)线性存储结构和链表存储结构 B)散列方式和索引方式

C)链表存储结构和数组D)线性存储结构和非线性存储结构栈和队列通常采用的存储结构是【1】。下列数据结构中,按先进后出原则组织数据的是

A)线性链表B)栈C)循环链表 D)顺序表77栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为【2】。

由两个栈共享一个存储空间的好处是

A)减少存取时间,降低下溢发生的机率B)节省存储空间,降低上溢发生的机率

C)减少存取时间,降低上溢发生的机率D)节省存储空间,降低下溢发生的机率下列关于栈的叙述中正确的是A)在栈中只能插入数据B)在栈中只能删除数据C)栈是先进先出的线性表D)栈是后进先出的线性表下列关于队列的叙述中正确的是A)在队列中只能插入数据B)在队列中只能删除数据C)队列是先进先出的线性表D)队列是后进先出的线性表78当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不全国计算机等级考试

二级公共基础知识

全国计算机等级考试

二级公共基础知识

基本要求

1.掌握算法的基本概念。2.掌握基本数据结构及其操作。3.掌握基本排序和查找算法。4.掌握逐步求精的结构化程序设计方法。5.掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。6.掌握数据的基本知识,了解关系数据库的设计。80基本要求1.掌握算法的基本概念。2考试内容

一、基本数据结构与算法

1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。5.线性单链表、双向链表与循环链表的结构及其基本运算。6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。

81考试内容

一、基本数据结构与算法1.算法的基本概念;算二、程序设计基础1.程序设计方法与风格。2.结构化程序设计。3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。82二、程序设计基础1.程序设计方法与风格。4三、软件工程基础1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。3.结构化设计方法,总体设计与详细设计。4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。5.程序的调试,静态调试与动态调试。83三、软件工程基础1.软件工程基本概念,软件生命周期概念,四、数据库设计基础1.数据库的基本概念:数据库,数据库管理系统,数据库系统。2.数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。84四、数据库设计基础1.数据库的基本概念:数据库,数据库管理考试方式1、公共基础的考试方式为笔试,与C语言(VisualBASIC、VisualFoxPro、Java、Access、VisualC++)的笔试部分合为一张试卷。公共基础部分占全卷的30分。2、公共基础知识有10道选择题和5道填空题。85考试方式1、公共基础的考试方式为笔试,与C语言(Visua学习方法理解基本概念多做练习适当记忆一些名词与所学的VBA程序设计知识结合起来,以增加对知识的理解能力86学习方法理解基本概念81.基本数据结构与算法1.1算法1.1.1算法(algorithm)基本概念对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。它是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。算法具有有穷性、确定性、可行性、输入和输出(拥有足够的情报)等5个重要特性。871.基本数据结构与算法1.1算法1.1.1算法(al1.1算法的基本概念 算法的定义:一个有穷的指令集,这些指令为解决某一特定问题规定了一个运算序列,即方法和步骤,在计算机学科中,算法就是计算机解决问题的过程或步骤。算法是解题方案的准确而完整的描述。算法等于程序?等于计算方法?881.1算法的基本概念 算法的定义:一个有穷的指令集,这些结构化程序算法的特性如下。(1)可行性算法中的操作能够用已经实现的基本运算执行有限次来实现。(2)确定性算法中的每一步都有确切的含义。(3)有穷性一个算法(对任何合法的输入)在执行有穷步后能够结束,并且在有限的时间内完成。(4)拥有足够的情报当算法拥有足够的情报,此算法才是有效的。

考点1:算法的定义

例2.1.1

问题处理方案的正确而完整的描述称为______。[2005年4月填空第5题]

例2.1.2算法具有4个特性,以下选项中不属于算法特性的是(

A.有穷性

B.简洁性

C.可行性

D.确定性

89结构化程序算法的特性如下。

考点1:算法的定义

1.1.2算法的基本要素1、对数据对象的运算和操作算术运算逻辑运算关系运算数据传输2、算法的控制结构算法中各操作之间的执行顺序描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等一个算法一般可以用顺序、选择、循环三种基本机构组合而成。901.1.2算法的基本要素121.1.3算法设计基本方法列举法归纳法递推递归(以简洁的形式设计和描述算法)减半递推技术回溯法911.1.3算法设计基本方法131.2算法复杂度1.2.1时间复杂度依据算法算法编制的程序在计算机上运行时所消耗的时间来度量。通常有事后统计法和事前分析估算法。一个算法是由控制结构(顺序、分支和循环)和原操作构成的,算法时间取决于两者的综合效果。算法中基本操作重复执行次数n和算法执行时间同步增长,称作算法的时间复杂度。921.2算法复杂度1.2.1时间复杂度14

算法的时间复杂度指算法的时间耗费,算法时间是由控制结构和原操作的决定的。算法中基本操作重复执行的次数是问题规模n的某个函数f(n),记作:T(n)=O(f(n)) 它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同。

算法的时间复杂度用来衡量算法执行过程中所需要的基本运算次数。算法的时间复杂度是指算法所需要的计算工作量。

93 算法的时间复杂度指算法的时间耗费,算法时间是由控制结构和原1.2.2算法的空间复杂度一般是指执行这个算法所需要的内存空间一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及某种数据结构所需要的附加存储空间一个上机执行的程序除了需要存储空间来寄存本身所用指令、常数、变量和输入数据外,也需要一些对数据进行操作的工作单元和存储一些为实现计算所需信息的辅助空间。941.2.2算法的空间复杂度16

算法的空间复杂度描述算法的存储空间需求,运行完一个程序所需要的内存大小是问题规模n的某个函数g(n),记作:S(n)=O(g(n)) 它表示随着问题规模n的增大,算法运行所需存储空间的增长率S(n)与g(n)的增长率相同。空间复杂度是指执行这个算法所需要的内存空间。

2007-4真题:95 算法的空间复杂度描述算法的存储空间需求,运行完一个程序所需例题讲解算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数算法的基本特征是可行性、确定性、【1】和拥有足够的情报。算法的空间复杂度是指

A)算法程序的长度 B)算法程序中的指令条数

C)算法程序所占的存储空间D)执行过程中所需要的存储空间96例题讲解算法的时间复杂度是指18在计算机中,算法是指

A)加工方法 B)解题方案的准确而完整的描述

C)排序方法 D)查询方法算法的工作量大小和实现算法所需的存储单元多少分别称为算法的【1】。97在计算机中,算法是指191.2数据结构数据结构的定义数据的逻辑结构和存储结构数据结构的图形表示线性结构与非线性结构981.2数据结构数据结构的定义201.2.1数据结构研究的主要内容当今计算机应用的特点:所处理的数据量大且具有一定的关系;对其操作不再是单纯的数值计算,而更多地是需要对其进行组织、管理和检索。应用举例1——学籍档案管理假设一个学籍档案管理系统应包含如下表1-1所示的学生信息。991.2.1数据结构研究的主要内容当今计算机应用的特点:210022特点:

l 每个学生的信息占据一行,所有学生的信息按学号顺序依次排列构成一张表格;

l 表中每个学生的信息依据学号的大小存在着一种前后关系,这就是我们所说的线性结构;

l 对它的操作通常是插入某个学生的信息,删除某个学生的信息,更新某个学生的信息,按条件检索某个学生的信息等等。应用举例2——输出n个对象的全排列输出n个对象的全排列可以使用下图1-1所示的形式描述。101特点:23图1-13个对象的全排列过程102图1-13个对象的全排列过程24特点:

l 在求解过程中,所处理的数据之间具有层次关系,这是我们所说的树形结构;

l 对它的操作有:建立树形结构,输出最低层结点内容等等。应用举例3——制定教学计划在制定教学计划时,需要考虑各门课程的开设顺序。有些课程需要先导课程,有些课程则不需要,而有些课程又是其他课程的先导课程。比如,计算机专业课程的开设情况如下表1-2所示:103特点:2510426课程先后关系的图形描形式:c1c9c4c2c12c10c11c5c3c6c7c8图1-2计算机专业必修课程开设先后关系105课程先后关系的图形描形式:c1c9c4c2c12c10c11特点

l 课程之间的先后关系用图结构描述;

l 通过实施创建图结构,按要求将图结构中的顶点进行线性排序。结论:数据结构主要研究以下三个方面的问题:数据的逻辑结构数据的存储结构对各种数据结构进行的运算

106特点28

数据的逻辑结构:用来描述数据元素之间的逻辑关系。

数据的存储结构:用来描述数据元素及数据元素之间的关系在存储器中的存储形式。*重点提示:

同一逻辑结构的数据可以采用不同存储结构,但影响数据处理效率。

数据的运算:即对数据元素施加的操作。 数据结构的图形表示:用图形来直观地表示数据及其之间的关系。数据结构包括逻辑结构、存储结构和数据的运算3个方面的内容。107 数据的逻辑结构:用来描述数据元素之间的逻辑关系。数据结构包数据结构是一门研究数据组织、存储和运算的一般方法的学科。1.2.2基本概念和术语1081.2.2基本概念和术语30能输入到计算机中并能被计算机程序处理的符号的集合。整数(1,2)、实数(1.1,1.2)字符串(Beijing)、图形、声音。1.2.2基本概念和术语数据结构是一门研究数据组织、存储和运算的一般方法的学科。109能输入到计算机中整数(1,2)、实数(1.1,1.2)1.21.2.2基本概念和术语计算机管理图书问题在图书馆里有各种卡片:有按书名编排的、有按作者编排的、有按分类编排如何将查询图书的这些信息存入计算机中既要考虑查询时间短,又要考虑节省空间数据结构是一门研究数据组织、存储和运算的一般方法的学科。1101.2.2基本概念和术语计算机管理图书问题最简单的办法之一是建立一张表,每一本书的信息在表中占一行,如1.2.2基本概念和术语数据结构是一门研究数据组织、存储和运算的一般方法的学科。111最简单的办法之一是建立一张表,1.2.2基本概念和术语33如何将0,1,2,3,4,5,6,7,8,9这10个数存放在计算机中能最快地达到你所需要的目的?目的不同,最佳的存储方方法就不同。从大到小排列:9,8,7,6,5,4,3,2,1,0输出偶数:0,2,4,6,8,1,3,5,7,9数据元素在计算机中的表示数据结构是一门研究数据组织、存储和运算的一般方法的学科。1.2.2基本概念和术语112如何将0,1,2,3,4,5,6,7,8,9这10个数存放在对数据结构中的节点进行操作处理(插入、删除、修改、查找、排序)1.2.2基本概念和术语数据结构是一门研究数据组织、存储和运算的一般方法的学科。113对数据结构中的节点进行1.2.2基本概念和术语35数据元素(DataElement)数据元素是数据的基本单位,即数据集合中的个体。有时一个数据元数可由若干数据项(DataItem)组成。数据项是数据的最小单位。数据元素亦称节点或记录。114数据元素(DataElement)数据元素是数据的数据结构可描述为Group=(D,R)有限个数据元素的集合有限个节点间关系的集合115数据结构可描述为Group=(D,R)有限个数据元素的1.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构

B.非线性结构A顺序存储

B链式存储线性表栈队树形结构图形结构数据结构的三个方面数据结构可描述为Group=(D,R)1161.数据的逻辑结构2、数据的存储结构3、数据的运算:线性结构

A,B,C,·······,X,Y,Z学生成绩表86胡孝臣986110395刘忠赏9861107100张卓9861109成绩姓名学号线性表——结点间是以线性关系联结117线性结构A,B,C,·······,X,Y树形结构全校学生档案管理的组织方式计算机程序管理系统也是典型的树形结构118树形结构全校学生档案管理的组织方式计算机程序管理系统也是典型ABCDEFGH树形结构——结点间具有分层次的连接关系HBCDEFGA119ADEFGH树形结构——结点间具有分层次的连接关系HBC1.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构B.非线性结构A顺序存储

B链式存储线性表栈队树形结构图形结构数据结构的三个方面(亦称物理结构)1201.数据的逻辑结构2、数据的存储结构3、数据的运算:1423

D={1,2,3,4}R={(1,2),(1,3),(1,4),(2,3)(3,4),(2,4)}213

D={1,2,3}R={(1,2),(2,3),(3,2),(1,3)}

图形结构——节点间的连结是任意的1211423D={1,2,3,4}21.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构B.非线性结构A顺序存储

B链式存储线性表栈队树形结构图形结构数据结构的三个方面(亦称物理结构)1221.数据的逻辑结构2、数据的存储结构3、数据的运算:元素n……..元素i……..元素2元素1LoLo+mLo+(i-1)*mLo+(n-1)*m存储地址存储内容Loc(a)=Lo+(i-1)*m顺序存储每个元素所占用的存储单元个数123元素n……..元素i……..元素2元素1LoLo+mLo+(元素n……..元素i……..元素2元素1存储内容顺序存储结构常用于线性数据结构,将逻辑上相邻的数据元素存储在物理上相邻的存储单元里。顺序存储结构的三个弱点:1.作插入或删除操作时,需移动大量元数。2.长度变化较大时,需按最大空间分配。3.表的容量难以扩充。124元素n……..元素i……..元素2元素1存储内容顺序存储结构1.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构B.非线性结构A顺序存储

B链式存储

线性表栈队树形结构图形结构数据结构的三个方面(亦称物理结构)1251.数据的逻辑结构2、数据的存储结构3、数据的运算:1536元素21400元素11346元素3∧元素41345h

链式存储每个节点都由两部分组成:数据域和指针域。数据域存放元素本身的数据,指针域存放指针。数据元素之间逻辑上的联系由指针来体现。1261536元素21400元素11346元素3∧元素413451536元素21400元素11346元素3∧元素4head1346元素31536

…….

……..

…….1536元素21400

…….

……..

…….∧元素413461400元素11345指针存储内容存储地址

链式存素21400元素11346元素3∧元素4head1536元素21400元素11346元素3∧元素41345h

链式存储1.比顺序存储结构的存储密度小(每个节点都由数据域和指针愈组成)。2.逻辑上相邻的节点物理上不必相邻。3.插入、删除灵活(不必移动节点,只要改变节点中的指针)。链接存储结构特点:1281536元素21400元素11346元素3∧元素413451.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。A.线性结构B.非线性结构A顺序存储

B链式存储线性表栈队树形结构图形结构数据结构的三个方面(亦称物理结构)1291.数据的逻辑结构2、数据的存储结构3、数据的运算:线性结构和非线性结构如果一个非空的数据结构满足下列两个条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件则称该数据结构为线性结构(线性表)。如果一个数据结构不是线性结构,则称之为非线性结构。130线性结构和非线性结构如果一个非空的数据结构满足下列两个条件例题讲解数据结构分为逻辑结构与存储结构,线性链表属于【1】。P327

数据结构中,与所使用的计算机无关的是数据的

A)存储结构 B)物理结构

C)逻辑结构 D)物理和存储结构数据的逻辑结构有线性结构和【1】两大类。131例题讲解数据结构分为逻辑结构与存储结构,线性链表属于【1顺序存储方法是把逻辑上相邻的结点存储在物理位置【2】的存储单元中。P317数据处理的最小单位是P309

A)数据B)数据元素C)数据项D)数据结构数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及

A)数据的存储结构B)计算方法C)数据映象D)逻辑存储132顺序存储方法是把逻辑上相邻的结点存储在物理位置【2】的存根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成

A)动态结构和静态结构 B)紧凑结构和非紧凑结构

C)线性结构和非线性结构D)内部结构和外部结构

数据结构包括数据的逻辑结构、数据的【2】以及对数据的操作运算。数据的基本单位是【5】。133根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据下列叙述中,错误的是

A)数据的存储结构与数据处理的效率密切相关

B)数据的存储结构与数据处理的效率无关

C)数据的存储结构在计算机中所占的空间不一定是连续的

D)一种数据的逻辑结构可以有多种存储结构数据的存储结构是指P314A)数据所占的存储空间B)数据的逻辑结构在计算机中的表示C)数据在计算机中的顺序存储方式D)存储在外存中的数据134下列叙述中,错误的是561.3线性表及其顺序存储结构1.3.1线性表的定义线性表是n个元素的有限序列,它们之间的关系可以排成一个线性序列:

a1,a2,……,ai,……,an其中n称作表的长度,当n=0时,称作空表。1351.3线性表及其顺序存储结构1.3.1线性表的定义57线性表的特点:1.线性表中所有元素的性质相同。2.除第一个和最后一个数据元素之外,其它数据元素有且仅有一个前驱和一个后继。第一个数据元素无前驱,最后一个数据元素无后继。3.数据元素在表中的位置只取决于它自身的序号。在线性表上常用的运算有:初始化、求长度、取元素、修改、前插、删除、检索、排序。136线性表的特点:581.3.2线性表的顺序存储结构及其插入与删除操作特点:1、线性表中数据元素类型一致,只有数据域,存储空间利用率高。2、所有元素所占的存储空间是连续的3、各数据元素在存储空间中是按逻辑顺序依次存放的2.做插入、删除时需移动大量元素。3.空间估计不明时,按最大空间分配。1371.3.2线性表的顺序存储结构及其插入与删除操作特点:5元素an……..元素ai……..元素a2元素a1bb+mb+(i-1)*m

b+(maxlen-1)*m存储地址内存状态Loc(元素i)=b+(i-1)*m顺序存储结构示意图(顺序表):首地址起始地址基地址每个元素所占用的存储单元个数138元素an……..元素ai……..元素a2元素a1bb+mb+元素a1元素a2……..元素ai+1……..01i线性表的顺序存储结构——可用VB语言中的一维数组来描述.DimV[M]Asinteger;

/*V是数组的名字,M是数组大小,假设数组中的元素是整型类型*/第i个元素的ai存储地址:Loc(ai)=Loc(a1)+(i-1)*mV[0]V[1]V[i]V[m-1]139元素a1元素a2……..元素ai+1……..01i线性表的…..a2a1an…..ai+1ai01i-1in-11-1插入运算ai-1…..a2a1alength

…ai+1ai

x

ai-1…..

a2

a1

ai

ai+1

…alength

alength

…ai+1

ai

x140…..a2a1an…..ai+1ai01i-1in-11-OptionBase0Functionintinsq(iAsInteger,xAsInteger,V()AsInteger,MAsInteger,)/*顺序表插入函数*/

/*在线性表V中第i个元素之前插入x,i的合法值为1

in*/

DimnAsInteger,jAsIntegern=UBound(V)/*获取表长*/Ifn=MThen/*M是存储空间的大小*/

print"overflown“ExitFunctionEndIfIf(i<1)or(i>n+1)Thenprint"iiserror“ExitFunction/*i值不合法*/Elseforj=nToiStep-1V(j)=V(j-1)/*插入位置后的元素依次右移*/

NextJV(j)=x/*插入x*/EndIfEndFunction注意数组元素从0开始141OptionBase0注意数组元素从0开始631-2删除运算OptionBaseoFunctiondelsq(iAsInteger,V()AsInteger])/*在线性表V中删除第i个元素*/

DimnAsInteger,jAsIntegern=UBound(V)Ifi<1ori>nThenprint"Thiselementisnotinthelist“ExitFunctionelseForj=ITonV(j-1)=V(j)/*被删除元素之后的元素左移*/

NextJEndifEndFunction1421-2删除运算64

插入算法的分析假设线性表中含有n个数据元素,在进行插入操作时,若假定在n+1个位置上插入元素的可能性均等,则平均移动元素的个数为:143插入算法的分析65

删除算法的分析在进行删除操作时,若假定删除每个元素的可能性均等,则平均移动元素的个数为:

分析结论顺序存储结构表示的线性表,在做插入或删除操作时,平均需要移动大约一半的数据元素。当线性表的数据元素量较大,并且经常要对其做插入或删除操作时,这一点需要值得考虑。144删除算法的分析66例题讲解顺序存储方法是把逻辑上相邻的结点存储在物理位置【2】的存储单元中。PPT:P46145例题讲解顺序存储方法是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论