版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、全国计算机等级考试二级公共基础知识考点公共基础知识 基本要求 1掌握算法的基本概念。 2掌握基本数据结构及其操作。 3掌握基本排序和查找算法。 4掌握逐步求精的结构化程序设计方法。 5掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。 6掌握数据库的基本知识,了解关系数据库的设计。 考试内容 一、基本数据结构与算法 1算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。 2数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。 3线性表的定义;线性表的顺序存储结构及其插入与删除运算。 4栈和队列的定义;栈和队列的顺序存储结构及其基
2、本运算。 5线性单链表、双向链表与循环链表的结构及其基本运算。 6树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。 7顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。 二、数据库设计基础 1数据库的基本概念:数据库,数据库管理系统,数据库系统。 2数据模型,实体联系模型及ER图,从ER图导出关系数据模型。 3关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。 4数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略三、程序设计基础 1程序设计方法与风格 2结构化程序设计。 3面向对象的程序设计方法,对象,方法
3、,属性及继承与多态性。 四、软件工程基础 1软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。 2结构化分析方法,数据流图,数据字典,软件需求规格说明书。 3结构化设计方法,总体设计与详细设计。 4软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。 5程序的调试,静态调试与动态调试。 全国计算机等级考试二级公共基础讲义之一算法与数据结构本章应考点拨:本章内容在笔试中会出现5-6个题目,是公共基础知识部分出题量比较多的一章,所占分值也比较大,约10分。1.1算法1、算法的基本概念:是指解题方案的准确而完整的描述。 算法不等于程序,也不等于计
4、算机方法,程序的编制不可能优于算法的设计。 2、算法的基本特征(1)可行性 针对实际问题而设计的算法,执行后能够得到满意的结果。(2)确定性 每一条指令的含义明确,无二义性。并且在任何条件下,算法只有唯一的一条执行路径,即相同的输入只能得出相同的输出。(3)有穷性 算法必须在有限的时间内完成。有两重含义,一是算法中的操作步骤为有限个,二是每个步骤都能在有限时间内完成。(4)拥有足够的情报 算法中各种运算总是要施加到各个运算对象上,而这些运算对象又可能具有某种初始状态,这就是算法执行的起点或依据。因此,一个算法执行的结果总是与输入的初始数据有关,不同的输入将会有不同的结果输出。当输入不够或输入错
5、误时,算法将无法执行或执行有错。一般说来,当算法拥有足够的情报时,此算法才是有效的;而当提供的情报不够时,算法可能无效。*:综上所述,所谓算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。3、算法复杂度主要包括时间复杂度和空间复杂度。(1)算法时间复杂度是指执行算法所需要的计算工作量,可以用执行算法的过程中所需基本运算的执行次数来度量。同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。这表明使用绝对的时间单位衡量算法的效率是不合适的。撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法运行
6、工作量的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。即算法的工作量=f(n)(2)算法空间复杂度是指执行这个算法所需要的内存空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。【算法习题】1、算法的时间复杂度是指 CA) 执行算法程序所需要的时间 B) 算法程序的长度
7、C) 算法执行过程中所需要的基本运算次数 D) 算法程序中的指令条数2、算法的基本特征是可行性、确定性、 有穷性 和拥有足够的情报。3、算法的空间复杂度是指 CA) 算法程序的长度 B) 算法程序中的指令条数C) 算法程序所占的存储空间 D) 执行过程中所需要的存储空间4、在计算机中,算法是指 BA) 加工方法 B) 解题方案的准确而完整的描述 C) 排序方法 D) 查询方法5、算法的工作量大小和实现算法所需的存储单元多少分别称为算法的 【1】 时间复杂度和空间复杂度 1.2 数据结构的基本概念1、数据结构是指相互有关联的数据元素的集合。2、数据结构主要研究和讨论以下三个方面的问题:(1)数据
8、集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构。数据的逻辑结构有两个要素:一是数据元素的集合;二是此集合上的关系,它反映了数据元素之间的前后件关系(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构。数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此,为了表示存放在计算机存储空间中的各数据元素之间的逻辑关系(即前后件关系),在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。数据的存储结构有顺序、链接、索引等。1)顺序存储。它是把
9、逻辑上相邻的结点存储在物理位置相邻的存储单元里。由此得到的存储表示称为顺序存储结构。2)链接存储。它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构。3)索引存储:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。同一种逻辑结构的数据可以采用不同的存储结构,而采用不同的存储结构,其数据处理的效率是不同的。因此,在进行数据处理时,选择合适的存储结构是很重要的。(3)对各种数据结构进行的运算。3、数据结构的图形表示一个数据结构除了用二元关系表示外,还可以直观地用图形表示。在数据结构的图形表示中,对于数据集合D中的每一个数
10、据元素用中间标有元素值的方框表示,一般称之为数据结点,并简称为结点;为了进一步表示各数据元素之间的前后件关系,对于关系R中的每一个二元组,用一条有向线段从前件结点指向后件结点。4、根据数据结构中各数据元素之间前后件关系的复杂程度,数据结构分为两大类型:线性结构和非线性结构。(1)线性结构(非空的数据结构)条件:v 有且只有一个根结点wx3;v 每一个结点最多有一个前件,也最多有一个后件。*:常见的线性结构有线性表(栈、队列是线性表的特例)(2)非线性结构:不满足线性结构条件的数据结构。*:常见的非线性结构有树、二叉树和图等。【数据结构基本概念习题】1、根据数据结构中各数据元素之间前后件关系的复
11、杂程度,一般将数据结构分成A) 动态结构和静态结构 B) 紧凑结构和非紧凑结构C) 线性结构和非线性结构 D) 内部结构和外部结构 2、数据结构包括数据的逻辑结构、数据的 【2】 以及对数据的操作运算。 存储结构3、数据的基本单位是 【5】 。 数据元素4、下列叙述中,错误的是A) 数据的存储结构与数据处理的效率密切相关B) 数据的存储结构与数据处理的效率无关C) 数据的存储结构在计算机中所占的空间不一定是连续的D) 一种数据的逻辑结构可以有多种存储结构5、数据的存储结构是指A)数据所占的存储空间 C)数据在计算机中的顺序存储方式B)数据的逻辑结构在计算机中的表示 D)存储在外存中的数据6、顺
12、序存储方法是把逻辑上相邻的结点存储在物理位置 【2】 的存储单元中。 相邻7、数据处理的最小单位是 A) 数据 B) 数据元素 C) 数据项D) 数据结构8、数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及 A) 数据的存储结构 B) 计算方法 C) 数据映象 D) 逻辑存储9、数据结构中,与所使用的计算机无关的是数据的A) 存储结构 B) 物理结构C) 逻辑结构 D) 物理和存储结构 10、数据的逻辑结构有线性结构和 【1】 两大类。 非线性结构1.3 线性表及其顺序存储结构1、线性表是由n(n0)个数据元素组成的一个有限序列,表中的每一个数据元素,除了第
13、一个和最后一个外,有且只有一个前件、后件。线性表中数据元素的个数称为线性表的长度。线性表可以为空表。*:线性表有两种存储方式:顺序和链式。2、线性表的顺序存储结构(也称为顺序表)具有两个基本特点:(1)线性表中所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的,即顺序表中逻辑上相邻的元素的物理位置必定紧邻。(即逻辑结构和物理存储结构是一致的、一一对应的)3、顺序表的插入、删除运算(1)顺序表的插入运算:在一般情况下,要在第i(1in)个元素之前插入一个新元素时,首先要从最后一个(即第n个)元素开始,直到第i个元素之间共n-i+1个元素依次向后移动一个位置
14、,移动结束后,第i个位置就被空出,然后将新元素插入到第i项。插入结束后,线性表的长度就增加了1。*:插入运算时需要移动元素,在等概率情况下,平均需要移动n/2个元素。(2)顺序表的删除运算:在一般情况下,要删除第i(1in)个元素时,则要从第i+1个元素开始,直到第n个元素之间共n-i个元素依次向前移动一个位置。删除结束后,线性表的长度就减小了1。*:删除运算时也需要移动元素,在等概率情况下,平均需要移动(n-1)/2个元素。v 插入、删除运算不方便。在长度为n的顺序表中插入、删除一个元素的时间复杂度都为O(n)。(3)即查找操作:可实现随机访问、随机存取元素在顺序表中,其前后件两个元素在存储
15、空间中是紧邻的,且前件元素一定存储在后件元素的前面,即顺序存储结构通过元素的相对存储地址来表示元素之间的关系,可以通过计算机直接确定第i个结点的存储地址。ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。线性表顺序存储的优点是可以随机访问、随机存取元素即实现查找操作比较方便,换句话说,顺序表是一种随机存取的存储结构。线性表顺序存储的缺点:(1)插入或删除数据元素时需要移动大量的数据元素,运算效率很低。;(2)顺序表的存储空间不便于扩充;(3)不便于对存储空间的动态分配1.4 线性链表线性表的链式存储结构称为线性链表,是
16、一种物理存储单元上非连续、非顺序的存储结构(存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致),数据元素的逻辑关系是通过链表中的指针链接来实现的。因此,在链式存储方式中,每个结点由两部分组成:一部分用于存放数据元素的值,称为数据域;另一部分用于存放指针,称为指针域,用于指向该结点的前一个或后一个结点(即前件或后件)。线性链表分为单链表、双向链表和循环链表三种类型。在单链表(如下图)中,每一个结点只有一个指针域,由这个指针只能找到其后件结点,而不能找到其前件结点。因此,在某些应用中,对于线性链表中的每个结点设置两个指针,一个称为左指针,指向其前件结点;另一
17、个称为右指针,指向其后件结点,这种链表称为双向链表,如下图所示:3、线性链表的基本运算(1)在线性链表中包含指定元素的结点之前插入一个新元素。*:在线性链表中插入元素时,不需要移动数据元素,只需要修改相关结点指针即可。(2)在线性链表中删除包含指定元素的结点。*:在线性链表中删除元素时,也不需要移动数据元素,只需要修改相关结点指针即可。(3)将两个线性链表按要求合并成一个线性链表。(4)将一个线性链表按要求进行分解。(5)逆转线性链表。 (6)复制线性链表。(7)线性链表的排序。 (8)线性链表的查找。4、循环链表及其基本运算在线性链表中,其插入与删除的运算虽然比较方便,但还存在一个问题,在运
18、算过程中对于空表和对第一个结点的处理必须单独考虑,使空表与非空表的运算不统一。为了克服线性链表的这个缺点,可以采用另一种链接方式,即循环链表。与前面所讨论的线性链表相比,循环链表具有以下两个特点:1)在链表中增加了一个表头结点,其数据域为任意或者根据需要来设置,指针域指向线性表的第一个元素的结点,而循环链表的头指针指向表头结点;2)循环链表中最后一个结点的指针域不是空,而是指向表头结点。即在循环链表中,所有结点的指针构成了一个环状链。下图a是一个非空的循环链表,图b是一个空的循环链表:循环链表的优点主要体现在两个方面:一是在循环链表中,只要从表中任何一个结点出发就访问到表中其他所有的结点,而线
19、性单链表做不到这一点;二是由于在循环链表中设置了一个表头结点,在任何情况下,循环链表中至少有一个结点存在,从而使空表与非空表的运算统一。*:循环链表是在单链表的基础上增加了一个表头结点,其插入和删除运算与单链表相同。链式存储结构的特点(优缺点)插入、删除灵活方便,不需要移动结点,只要改变结点中指针域的值即可。适合于线性表是动态变化的,不进行频繁查找操作、但经常进行插入删除时使用。 链表的查找只能从头指针开始顺序查找。 【线性表习题】1、线性表的顺序存储结构和线性表的链式存储结构分别是A) 顺序存取的存储结构、顺序存取的存储结构B) 随机存取的存储结构、顺序存取的存储结构C) 随机存取的存储结构
20、、随机存取的存储结构D) 任意存取的存储结构、任意存取的存储结构 2、链表不具有的特点是A) 不必事先估计存储空间 B) 可随机访问任一元素C) 插入删除不需要移动元素 D) 所需空间与线性表长度成正比3、数据结构分为逻辑结构与存储结构,线性链表属于 【1】 。 4、顺序存储方法是把逻辑上相邻的结点存储在物理位置 【2】 的存储单元中。5、长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 【1】 。6、线性表L=(a1,a2,a3,ai,an),下列说法正确的是A) 每个元素都有一个直接前件和直接后件B) 线性表中至少要有一个元素C) 表
21、中诸元素的排列顺序必须是由小到大或由大到小D) 除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件7、根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成A) 动态结构和静态结构 B) 紧凑结构和非紧凑结构C) 线性结构和非线性结构 D) 内部结构和外部结构8、当线性表采用顺序存储结构实现存储时,其主要特点是 【1】 。9、线性表若采用链式存储结构时,要求内存中可用存储单元的地址A) 必须是连续的 B) 部分地址必须是连续的C) 一定是不连续的 D) 连续不连续都可以10、下列叙述中,错误的是A) 数据的存储结构与数据处理的效率密切相关B) 数据的存
22、储结构与数据处理的效率无关C) 数据的存储结构在计算机中所占的空间不一定是连续的D) 一种数据的逻辑结构可以有多种存储结构 11、用链表表示线性表的优点是A) 便于随机存取 B) 花费的存储空间较顺序存储少C) 便于插入和删除操作 D) 数据元素的物理顺序与逻辑顺序相同12、在单链表中,增加头结点的目的是A) 方便运算的实现 B) 使单链表至少有一个结点C) 标识表结点中首结点的位置 D) 说明单链表是线性表的链式存储实现13、循环链表的主要优点是A) 不再需要头指针了B) 从表中任一结点出发都能访问到整个链表C) 在进行插入、删除运算时,能更好的保证链表不断开D) 已知某个结点的位置后,能够
23、容易的找到它的直接前件1.5 栈和队列(特殊的线性表)1、栈及其基本运算栈是限定在一端进行插入与删除运算的线性表。在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,栈底元素总是最先被插入的元素。即栈是按照“先进后出”或“后进先出”的原则组织数据的。由此看出,栈具有记忆作用。栈的基本运算:1)插入元素称为入栈运算首先将栈顶指针加一(即top加1),然后将新元素插入到栈顶指针指向的位置;2)删除元素称为退栈运算首先将栈顶指针指向的元素赋给一个指定的变量,然后将栈顶指针减一(即top减1)3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化
24、。栈的存储方式和线性表类似,也有两种,即顺序栈(插入和删除是不需要移动栈中其它数据元素)和链式栈。2、队列及其基本运算队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。尾指针(Rear)指向队尾元素,头指针(front)指向排头元素的前一个位置(队头)。队列是“先进先出”或“后进后出”的线性表。队列运算包括:1)入队运算:从队尾插入一个元素;2)退队运算:从队头删除一个元素。循环队列:是队列的顺序存储结构常用形式。所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头
25、指针front指向排头元素的前一个位置,因此,从头指针front指向的后一个位置直到队尾指针rear指向的位置之间,所有的元素均为队列中的元素。【栈和队列习题】1、栈和队列的共同特点是A)都是先进先出 B) 都是先进后出 C) 只允许在端点处插入和删除元素 D) 没有共同点2、如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A) e3,e1,e4,e2 B) e2,e4,e3,e1 C) e3,e4,e1,e2 D) 任意顺序3、一些重要的程序语言(如C语言和Pascal语言) 允许过程的递归调用。而实现递归调用中的存储分配通常用A) 栈 B) 堆 C) 数组 D) 链表4、栈底至栈顶
26、依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是A) ABCED B) DCBEA C) DBCEA D) CDABE 5、栈通常采用的两种存储结构是A) 线性存储结构和链表存储结构 B) 散列方式和索引方式C) 链表存储结构和数组 D) 线性存储结构和非线性存储结构6、栈和队列通常采用的存储结构是 【1】 。7、下列数据结构中,按先进后出原则组织数据的是A) 线性链表 B) 栈 C) 循环链表 D) 顺序表8、当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为 【2】 。 9、下列关于栈的叙述中正确的是)在栈中只能插入
27、数据 B)在栈中只能删除数据C)栈是先进先出的线性表 D)栈是后进先出的线性表10、下列关于队列的叙述中正确的是)在队列中只能插入数据 B)在队列中只能删除数据C)队列是先进先出的线性表 D)队列是后进先出的线性表1.6 树与二叉树1、树的基本概念树是一种简单的非线性结构。在树这种数据结构中,所有数据元素之间的关系具有明显的层次特性。在树结构中,每一个结点只有一个前件,称为父结点。没有前件的结点只有一个,称为树的根结点,简称树的根。每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。树的最
28、大层次称为树的深度。2、二叉树及其基本性质(1)什么是二叉树二叉树是一种很有用的非线性结构,它具有以下两个特点:1)非空二叉树只有一个根结点;2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。(五种基本形态:空树、只有根结点的二叉树、右子树为空的二叉树、左子树为空的二叉树、左、右子树均非空的二叉树)*:根据二叉树的概念可知,二叉树的度可以为0(叶结点)、1(只有一棵子树)或2(有2棵子树)。(2)二叉树的基本性质性质1 在二叉树的第i层上,最多有2i-1个结点(i1)。性质2 深度为k的二叉树最多有2K-1个结点(K1)。v 满二叉树:如果一个深度为K的二叉树拥有2 K -1个结
29、点,则将它称为满二叉树。即除最后一层外,每一层上的所有结点都有两个子结点。v 完全二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。完全二叉树的特点v 叶子结点只可能在层次最大的两层上出现v 对任意结点,若其右分支下的子孙的最大层次是l ,则其左分支下的子孙的最大层次必是l 或l+1完全二叉树还具有如下两个特性:性质5 具有n个结点的完全二叉树深度为log2n+1,其中log2n取log2n的整数部分。性质6 设完全二叉树共有n个结点,如果从根结点开始,按层序(每一层从左到右)用自然数1,2,n给结点进行编号,则对于编号为k(k=1,2,n)的结点有以下结论
30、:若k=1,则该结点为根结点,它没有父结点;若k1,则该结点的父结点的编号为INT(k/2)。若2kn,则编号为k的左子结点编号为2k;否则该结点无左子结点(显然也没有右子结点)。若2k+1n,则编号为k的右子结点编号为2k+1;否则该结点无右子结点。一棵满二叉树一定是一棵完全二叉树,而一棵完全二叉树不一定是满二叉树。下图a表示的是满二叉树,下图b表示的是完全二叉树:性质3 在任意一棵二叉树中,度数为0的结点(即叶子结点)总比度为2的结点多一个。(如果度为0的结点(叶子)个数为n0,度为2的结点个数为n2,则n0=n2+1。)性质4 具有n个结点的二叉树,其深度至少为log2n+1,其中log
31、2n 取log2n的整数部分。3、二叉树的存储结构在计算机中,二叉树通常采用链式存储结构。与线性链表类似,用于存储二叉树中各元素的存储结点也由两部分组成:数据域和指针域。但在二叉树中,由于每一个元素可以有两个后件(即两个子结点),因此,用于存储二叉树的存储结点的指针域有两个:一个用于指向该结点的左子结点的存储地址,称为左指针域;另一个用于指向该结点的右子结点的存储地址,称为右指针域。*:一般二叉树通常采用链式存储结构,对于满二叉树与完全二叉树来说,可以wx6。5、二叉树的遍历所谓遍历二叉树是指按某种顺序访问二叉树中的每个结点一次且仅一次的过程,即不重复地访问二叉树中的所有结点。二叉树的遍历可以
32、分为以下三种:(1)前(先)序遍历(DLR):若二叉树为空,则结束返回。否则:首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。(2)中序遍历(LDR):若二叉树为空,则结束返回。否则:首先遍历左子树,然后访问根结点,最后遍历右子树;并且,在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。(3)后序遍历(LRD):若二叉树为空,则结束返回。否则:首先遍历左子树,然后遍历右子树,最后访问根结点,并且,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点。1.7 查找技术查找:根据给定的某个
33、值,在查找表中确定一个其关键字等于给定值的数据元素。查找结果:(查找成功:找到;查找不成功:没找到。)平均查找长度:查找过程中关键字和给定值比较的平均次数。1、顺序查找基本思想:从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查到所要找的元素为止。否则就是表中没有要找的元素,查找不成功。在平均情况下,利用顺序查找法在线性表中查找一个元素,大约要与线性表中一半的元素进行比较,最坏情况下需要比较n次。顺序查找一个具有n个元素的线性表,其平均复杂度为O(n)。下列两种情况下只能采用顺序查找:1)如果线性表是无序表(即表中的元素是无序的),则不管是顺序存储结构还是链式存
34、储结构,都只能用顺序查找。2)即使是有序线性表,如果采用链式存储结构,也只能用顺序查找。2、二分法查找:二分法查找只适用于顺序存储的有序表,且表中元素必须按wx7。思想:先确定待查找记录所在的范围,然后逐步缩小范围,直到找到或确认找不到该记录为止。查找过程:1)若中间项(中间项mid=(n-1)/2,mid的值四舍五入取整)的值等于x,则说明已查到;2)若x小于中间项的值,则在线性表的前半部分查找;3)若x大于中间项的值,则在线性表的后半部分查找。特点:比顺序查找方法效率高。在长度为n的有序线性表中进行二分法查找,最坏的情况下,需要比较log2n次,其时间复杂度为O(log2n)。1.8 排序
35、技术排序是指将一个无序序列整理成按值非递减顺序排列的有序序列,即是将无序的记录序列调整为有序记录序列的一种操作。交换类排序法:冒泡排序法,最坏情况下需要比较的次数为n(n-1)/2,快速排序法,最坏情况下需要比较的次数为n(n-1)/2;插入类排序法:简单插入排序法,最坏情况需要n(n-1)/2次比较,希尔排序法,最坏情况需要O(n1.5)次比较; 选择类排序法:简单选择排序法,最坏情况需要n(n-1)/2次比较,堆排序法,最坏情况需要O(nlog2n)次比较。 全国计算机等级考试二级公共基础讲义之二数据库设计基础4.l数据库系统的基本概念考点1数据、数据库1数据数据(Data)是数据库中存储
36、的基本对象。数据的定义:描述事物的符号记录。计算机中的数据一般分为两部分,其中一部分存放于计算机内存中,与程序仅有短时间的交互关系,随着程序的结束而消亡,它们被称为临时性数据;而另一部分数据则对系统起着长期持久的作用,它们被称为持久性数据。数据库系统属于持久性数据。数据的种类:文字、图形、图像和声音。数据有型(Type)与值(Value)之分,数据的型给出了数据的表示类型,如整型、实型、字符型等。数据的特点:数据与其语义是不可分的。2数据库数据库(DataBase,DB)是长期储存在计算机内、有组织的、可共享的大量数据集合。数据库存放数据是按数据所提供的数据模式存放的,它能构造复杂的数据结构,
37、以建立数据间的内在联系与复杂的关系,从而构成数据的全局结构模式。数据库的特点:(1)数据按一定的数据模型组织、描述和储存;(2)可为各种用户共享;(3)冗余度较小;(4)数据独立性较高;(5)易扩展。考点2数据库管理系统1数据库管理系统的概念数据库管理系统(DataBase Management System,DBMS)是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操作、数据维护、数据控制及保护和数据服务等。数据库管理系统有如下功能:(l)数据模式定义。数据库管理系统负责为数据库构建模式;(2)数据存取的物理构建。数据库管理系统负责为数据模式的物理存取及构建提供有效的存取方法与
38、手段;(3)数据操纵。数据库管理系统一般提供查询、插入、修改以及删除数据的功能。它还具有做简单算术运算及统计的能力和强大的过程性操作能力;(4)数据的完整性、安全性定义与检查。数据库中的数据具有内在语义上的关联性与一致性,它们构成了数据的完整性;(5)数据库的并发控制与故障恢复。数据库管理系统必须对多个应用程序的并发操作做必要的控制以保证数据不受破坏,这就是数据库的并发控制;数据库中的数据一旦遭受破坏,数据库管理系统必须有能力及时进行恢复,这就是数据库的故障恢复;(6)数据的服务。数据库管理系统提供对数据库中数据的多种服务功能,如数据拷贝、转储、重组、性能监测、分析等。为完成数据库管理系统的功
39、能,数据库管理系统提供相应的数据语言(Data Language):(l)数据定义语言(Data Definition Language,DDL)。该语言负责数据的模式定义与数据的物理存取构建。(2)数据操纵语言(Data Manipulation Language, DML )。该语言负责数据的操纵,包括查询及增加、删除、修改等操作。(3)数据控制语言(Data Control Language, DCL)。该语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。上述数据语言按其使用方式可分为交互式命令语言和宿主型语言两种结构形式。2数据库管理员数据库管理员(DataBase
40、Administrator,DBA)是指对数据库的规划、设计、维护、监视等的人员。数据库管理员的主要工作如下:(1)数据库设计(Database Design)。DBA的主要任务之一是数据库设计,具体地说是进行数据模式的设计;(2)数据库维护。DBA必须对数据库中的数据安全性、完整性、并发控制及系统恢复、数据定期转储等进行实施与维护;(3)改善系统性能,提高系统效率。DBA必须随时监视数据库的运行状态,不断调整内部结构,使系统保持最佳状态与效率。考点3数据库系统 1数据库系统数据库系统(DataBase System, DBS)是指在计算机系统中引入数据库后的系统构成。在不引起混淆的情况下常常
41、把数据库系统简称为数据库。 数据库系统的构成:数据库系统由数据库(数据)、数据库管理系统(及其开发工具)、应用系统、数据库管理员、系统平台之一硬件平台(硬件)、系统平台之二软件平台(软件)5部分构成。硬件平台包括以下两项:(l)计算机:它是系统中硬件的基础平台;(2)网络:数据库系统今后将以建立在网络上为主,而其结构形成又以客户/服务器(C/S)方式与浏览器/服务器(B/S)方式为主。软件平台包括以下3项:(l)操作系统:它是系统的基础软件平台;(2)数据库系统开发工具:它包括过程性程序设计语言(如C,C+等),也包括可视化开发工具VB,PB、Delphi等,它还包括近期与Internet有关
42、的HTML和XML等。(3)接口软件:在网络环境下数据库系统中数据库与应用程序,数据库与网络间存在着多种接口,它们需要接口软件进行连接,这些接口软件包括ODBC、JDBC、OLEDB、COBBA、COM及DOOM等。2数据库应用系统数据库应用系统(DataBase Application System,DBAS )是数据库再加上应用软件及应用界面这三者所组成,具体包括数据库、数据库管理系统、数据库管理员,硬件平台、应用软件及应用界面。数据库的7个部分以一定的逻辑结构方式组成一个有机的整体,如图4-1所示。图4-1数据库系统的软硬件层次结构下面以一个用户读取某数据记录为例,展示在数据库中访问数据
43、的具体执行过程,该过程如图4-2所示。(1)用户程序中有一条读数据库记录的DML语句,当计算机执行到该语句时,即向DBMS发出读取相应记录的命令。(2) DBMS接到该命令后,首先访问该用户对应子模式,检查该操作是否在合法授权范围内及欲读记录的正确性、有效性,若不合法则拒绝执行,并向应用程序状态返回区发出回答状态信息;反之执行下一步。(3)DBMS读取模式描述并从子模式映射到全局模式,从而确定所需的逻辑记录类型。(4)DBMS从逻辑模式映射到存储模式,从而确定读入哪些物理记录以及具体的地址信息。(5)DBMS向操作系统发出从指定地址读取记录的命令。(6)操作系统执行读命令,按指定地址从数据库中
44、把记录读入系统缓冲区,并在操作结束后向DBMS作出回答。(7) DBMS按照模式将读入系统缓冲区中内容映射成用户要求读取的逻辑记录。(8) DBMS将导出的逻辑记录送入用户工作区,并将操作执行情况的状态信息返回给用户。(9) DBMS将已执行的操作载入运行日志。(10)应用程序根据返回的状态信息决定是否利用该数据进行操作等。图4-2数据库系统访问数据的步骤考点4数据库系统的发展数据管理技术的发展经历了3个阶段,见表4-1:(1)人工管理阶段(20世纪40年代中20世纪50年代中);(2)文件系统阶段(20世纪50年代末20世纪60年代中);(3)数据库系统阶段(20世纪60年代末现在)。表4-
45、1各阶段特点的详细说明人工管理阶段的特点:(1)数据的管理者:应用程序,数据不保存;(2)数据面向的对象:某一应用程序;(3)数据的共享程度:无共享、冗余度极大;(4)数据的独立性:不独立,完全依赖于程序;(5)数据的结构化:无结构;(6)数据控制能力:应用程序自己控制。人工管理阶段应用程序与数据对应关系如图4-3所示。图4-3人工管理阶段应用程序与数据之间的关系文件管理阶段的特点:(1)数据的管理者:文件系统,数据可长期保存;(2)数据面向的对象:某一应用程序;(3)数据的共享程度:共享性差、冗余度大;(4)数据的结构化:记录内有结构,整体无结构;(5)数据的独立性:独立性差,数据的逻辑结构
46、改变必须修改应用程序;(6)数据控制能力:应用程序自己控制。文件阶段应用程序与数据之间的对应关系如图4-4所示。图4-4文件阶段应用程序与数据之间的对应关系数据库系统阶段的特点:(1)数据的管理者:DBMS;(2)数据面向的对象:现实世界;(3)数据的共享程度:共享性高;(4)数据的独立性:高度的物理独立性和一定的逻辑独立性;(5)数据的结构化:整体结构化;(6)数据控制能力:由DBMS统一管理和控制。一、数据库系统的基本概念数据、数据库、数据库管理系统1.数据处理的最小单位是(C)。A.数据 B.数据元素 C.数据项 D.数据结构2.下列有关数据库的描述,正确的是(C)。A.数据库是一个DB
47、F文件 B.数据库是一个关系C.数据库是一个结构化的数据的集合 D.数据库是一组文件3.下述关于数据库系统的叙述中正确的是(A) A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余C.数据库系统避免了一切数据的重复 D.数据库系统比文件系统能管理更多的数据4.下列有关数据库的描述正确的是(D)。A.数据处理是将信息转化为数据的过程B.数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C.关系中的每一列称为元组,一个元组就是一个字段D.如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字5.下列4项说法中不正确的是(C)。A.数据
48、库减少了数据冗余 B.数据库中的数据可以共享C.数据库避免了一切数据的重复 D.数据库具有较高的数据独立性6.下列叙述中。不属于数据库系统的是(D)。A.数据库 B.数据库管理系统 C.数据库管理员 D.数据库应用系统7.数据库系统的核心是(数据库管理系统)。8.数据库、数据库系统和数据库管理系统之间的关系是(数据库系统包括数据库和数据库管理系统)。9.为用户与数据库系统提供接口的语言是(数据操纵语言(DML)。数据库管理系统一般提供的数据语言有:数据库定义语言(DDL):负责数据的模式定义与数据的物理存取构建数据操纵语言(DML):负责数据的操纵,包括查询及增、删、改变等操作数据库控制语言(
49、DCL):负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等2. 数据库系统的发展10.在数据管理技术的发展过程中经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是(数据库系统)。11.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有(A)。A.特定的数据模型 B.数据无冗余 C.数据可共享 D.专门的数据管理软件12.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和(冗余性)。13.分布式数据库系统不具有的特点是( D)。 A.数据分布性和逻辑整体性 B.位置透明性和复制透明性 C.分布性 D.数据冗余来源:3.数据库
50、系统的基本特点数据独立性 是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构和存取方式的改变都不会影响应用程序。数据独立性包括物理独立性和 逻辑独立性 两个含义。当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构从而不致引起应用程序的变化,这是指数据的 物理独立性 。4.数据库系统的内部结构数据库系统在其内部具有三级模式及二级映射,三级模式分别是概念级模式、内部级模式与外部级模式,二级映射分别是概念级到内部级的映射以及外部级到概念级的映射。这种三级模式与二级映射构成了数据库系统内部抽象结构体系。14.单个用户使用的
51、数据视图的描述称为(外模式)。索引属于(内模式)。二、数据模型1数据模型的基本概念数据模型是数据库设计的核心。其内容有三个部分:数据结构、数据操作和数据约束数据模型按不同应用层次分3种类型,它们是概念数据模型、逻辑数据模型和物理数据模型。概念数据模型简称概念模型,是面向客观世界、面向用户的模型;是整个数据模型的基础。与具体的数据库管理系统无关,着重于对客观事件的结构描述以及它们之间的内在联系的刻画。常用的有E-R模型、扩充的E-R模型等。逻辑数据模型又称数据模型,是面向数据库系统的模型,着重于数据库系统一级的实现。概念模型只有在转换成数据模型后才有可能在数据库中得以表示。常见的有层次模型、网状模型和关系模型。数据库管理系统常见的数据模型有层次模型、网状模型和 关系模型 3种。15.下列数据模型中,具有坚实理论基础的是(C)。A.层次模型 B.网状模型 C.关系模型 D.以上3个都是16.下列说法中,不属于数据模型所描述的内容的是(C)。A.数据结构 B.数据操作 C.数据查询 D.数据约束2E-R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024工厂租赁的协议书
- 2024年度分公司质量保障与售后服务协议3篇
- 2024年度农作物健康保护合作合同版B版
- 2024年专业咨询公司销售服务协议样本版B版
- 2024年度园林绿化工程车辆租赁合同3篇
- 2024年企业数字化转型升级合同
- 2024年制造业打磨工固定期限协议版B版
- 2024商用浴室改造项目承包协议
- 2024年工程领域劳务分包协议样本版B版
- 2024年度围墙施工及材料供应合同
- 风光互补发电系统集成
- (正式版)实习岗位-OFFER通知书
- 肠痈的中医护理查房课件
- 《陶瓷基础知识》课件
- GB/T 43477-2023节水型工业园区评价导则
- 幼儿园公开课:中班音乐《扮家家》课件
- 6朗诵《唐诗里的中国》朗诵稿
- 《中药膏方讲座》课件
- 认知盈余:自由时间的力量
- 债务由一方承担协议书
- 法律诉讼及咨询服务 投标方案(技术标)
评论
0/150
提交评论