计算机二级考试公共基础知识.pdf





《计算机二级考试公共基础知识.pdf》由会员分享,可在线阅读,更多相关《计算机二级考试公共基础知识.pdf(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机等级考试公共基础知识计算机二级考试公共基础知识大纲数据结构与算法程序设计基础 软件工程基础 数据库设计基础这四个方面在试卷中出现的情况是:选择题10个(2 0分),填空题5 个(10分),总分值占到了试 卷卷面分的3 0%,是一个不小的比例。第 2 页计算机二级考试公共基础知识试卷分析章节考试时间数据结构程序设软件工数据库设计基础程基础计基础与算法2 007 年 4月 2 007 年 9 月 2 008 年 4月 2 008 年 9 月 2 009年 3月 2 009年 9 月 2 010年 3 月10分 12 分 10分 10分 10分 10分 10分2 分 4 分 2 分 2 分 2
2、 分 2 分 0 分10分 8 分 8 分 8 分 8 分 8 分 10分8 分 6 分 10分 10分 10分 10分 10分第 3 页一、基本数据结构与算法算法1.算 法 的 基 本 概 念2.算 法 复 杂2.算 法 复杂度的概念和意义数据结构1.数 据 结 构 的 概 念2,线 性 表3.栈 和 队 列4.树与二叉树5.查 找 技 术6.排序技术对于等级考试,这个部分的考核重点主要在对于等级考试,这个部分的考核重点主要在算法和数据结构的基本概重点主要遍历、),还有排序和查找考试中也经常会涉及到二叉树遍历结点),还有排序和查找考试中也经常会涉及到。念、二叉树(遍历、结点),还有排序和查找
3、考试中也经常会涉及到。第4页1.算法的基本概念算法的定义算法是程序设计的核心对解题方案准确而完整的描述称为算法。对解题方案准确而完整的描述称为算法。算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,定义明确的规则。通俗点说,就是计算机解题的过 计算的方法)在这个过程中,程(计算的方法)。在这个过程中,无论是形成解题 思路(推理实现的算法)还是编写程序(思路(推理实现的算法)还是编写程序(操作实现的算都是在实施某种算法。法),都是在实施某种算法。个数从大到小进行排序。例:n个数从大到小进行排序。个数从大到小进行排序常用的有冒泡排序、选择排序等。有多种排序方法,常用的有冒泡排序、
4、选择排序等。第5页2.算法的基本特征一个算法应该具有以下五个重要的特征:一个算法应该具有以下五个重要的特征:有穷性确定性输入输出可行性一个算法必须保证执行有限步之后结束;算法的每一步骤必须有确切的定义;一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成第6页3.算法的表示一个算法的表示需要使用一些语言形式。一个算法的表示需要使用一些语言形式。传统的算法图形法,如“流程图”和N-S图图形法,传统的算法图形法
5、流程图”图目前常用的方法使用伪码描述算法。使用伪码描述算法。目前常用的方法使用伪码描述算法算法与计算机程序 算法是一组逻辑步骤 算法 是一组逻辑步骤程序用计算机语言描述的算法 程序用计算机语言描述的算法问题:输入园的半径,计算园的面积I N P U T r S=3.1 4*r*rP T I N T S开始输入R输入R S=3.1 4*R*R输出S输出S结 束 第 7 页算法举例:个数排序算法举例:n 个数排序冒泡排序的方法:冒泡排序的方法:1.扫描整个线性表,逐次对扫描整个线性表,扫描整个线性表相邻的两个元素进行比较,相邻的两个元素进行比较,若为逆序,则交换;若为逆序,则交换;第一趟扫描的结果
6、使最大的元素排到表的最后;2.除最后一个元素,对剩余除最后一个元素,除最后一个元素的元素重复上述过程,的元素重复上述过程,将次大的数排到表的倒数第二个位置;位置;3.重复上述过程;重复上述过程;重复上述过程对于长度为n的线性表,对于长度为的线性表,冒泡的线性表排序需要对表扫描n-1 遍。排序需要对表扫描遍第 8 页4.算法的两个基本要素:算法的两个基本要素:一是对数据对象的运算和操作;二是算法的控制结构。基本运算和操作算 术 运 算 关 系 运 算 逻辑 运 算 数据传输控制结构顺 序 选 择 循 环算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回 溯 法 第9页5.算法评价评价
7、一个算法优劣的主要标准是算法的执行效率和存储需求:评价一个算法优劣的主要标准是算法的执行效率和存储需求:时间复杂度:执行这个算法所需要的计算工 作 量 时间复杂度:执行这个算法所需要的计算工作量一般可以用算法在执行过程中所需基本运算的执行次数来度量计算工作量空间复杂度:执行这个算法所需要的内存空间空间复杂度:执行这个算法所需要的内存空间算法在执行过程中临时占用的存储空间时间复杂度它大致等于计算机执行一种简单操作所需的平均时间时间复杂度它大致等于计算机执行一种简单操作所需的平均时间与算法它大致等于计算机执行一种简单操作所需的平均时间与算法中进行简单操作的次数的乘积简单操作的次数的乘积。中进行简单
8、操作的次数的乘积。一个算法在计算机存储器上所占用的存储空间,包括存储算法本身所占用一个算法在计算机存储器上所占用的存储空间,包括存储算法本身所占用的存储空间、算法中的输入输出数据所占用的存储空间和的存储空间、算法中的输入输出数据所占用的存储空间和算法在运行过程中临时占用的存储空间这三个部分临时占用的存储空间这三个部分第 1 0 页一、算法对解题方案准确而完整的描述称为算法。对解题方案准确而完整的描述称为算法。算法不等于程序,也不等计算机方法,程序的编制不算法不等于程序,也不等计算机方法,可能优于算法的设计。可能优于算法的设计。算法评价:时间复杂度:时间复杂度:执行这个算法所需要的计算工作量空间
9、复杂度:空间复杂度:执行这个算法所需要的内存空间第 1 1 页算法习题:(1)在计算机中,算法是指在计算机中,算法是指。A.查询 方 法 B.加 工 方 法(c)C.解题方案的准确而完整的描述D.排序 方 法(2)下列叙述中正确的是(0 7 年 4 月)下列叙述中正确的是 年 月 A)算法的效率只与问题的规模有关,而与数据的存储结构无关算法的效率只与问题的规模有关,算法的效率只与问题的规模有 关 B)算法的时间复杂度是指执行算法所需要的计算工作量算法的时间复杂度是指执行算法所需要的计算工作量0数据的逻辑结构与存储结构是一一对应的数据的逻辑结构与存储结构是一一对应的(B)D)算法的时间复杂度与空
10、间复杂度一定相关算法的时间复杂度与空间复杂度一定相关(3)算法的有穷性是指(0 8 年 4 月)算法的有穷性是指 年 月 A)算法程序的运行时间是有限的)(A)B)算法程序所处理的数据量是有限的)C)算法程序的长度是有限的)D)算法只能被有限的用户使用)第 1 2 页(4)算法的时间复杂度是指(2 0 1 0 年 3月)年 月 A)算法的执行时间算法的执行时间B)算法所处理的数据量算法所处理的数据量 C)算法程序中的语句或指令条数算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数算法在执行过程中所需要的基本运算次数(5)算法的空间复杂度是指(0 9 年 9月)年 月A)算法在执
11、行过程中所需要的计算机存储空间)B)算法所处理的数据量)O 算法程序中的语句或指令条数)D)算法在执行过程中所需要的临时工作单元数)(6)下列叙述中正确的是(0 6 年 9月)年 月(D)计算工作量(A)(D)A)一个算法的空间复杂度大,则其时间复杂度也必定大)一个算法的空间复杂度大,B)一个算法的空间复杂度大,则其时间复杂度 必 定 小)一个算法的空间复杂度大,C)一个算法的时间复杂度大,则其空间复杂度必定小)一个算法的时间复杂度大,D)上述三种说法都不对)第1 3页二、数据结构程序=算 法 数 据 结 构 程序 算 法+数 据 结 构 算 法计算机在进行数据处理时,计算机在进行数据处理时,
12、实际需要处理的数据元素一般有很多,而这些大量的数据元素都需要存放在计算机中,因此,大 量 很 多,而这些大量的数据元素都需要存放在计算机中,因此,数据元素在计算机中如何组织,以便提高数据处理的效率,的数据元素在计算机中如何组织,以便提高数据处理的效率,并且节省计算机的存储空间,这是进行数据处理的关键问题。节省计算机的存储空间,这是进行数据处理的关键问题。数据结构是指相互有关联的数据元素的集合。数据结构是指相互有关联的数据元素的集合。一般来说,人们不会同时处理特征完全不同且互相之间没有任何关系的各类数据元素,对于具有不同特征的数据元素总是分别进行处理。一般情况下,在具有相同特征的数据元素集合中,
13、一般情况下,在具有相同特征的数据元素集合中,各个数据元素之间存在有某种关 系(即联系),),这种关系反映了该集元素之间存在有某种关系(即联系),这种关系反映了该集合中的数据元素所固有的一种结构。合中的数据元素所固有的一种结构。第 1 4 页二.数据结构数据结构是指相互有关联的数据元素的集合。数据结构是指相互有关联的数据元素的集合。数据结构是研究数据和数据之间关系的一门学科,它包括三个方面。学科,它包括三个方面。(1)数据集合中各数据元素之间所固有的逻)辑关系,即数据的逻辑结构;辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计)在对数据进行处理时,算机中的存储关系,即数据的存储
14、结构;算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。)对各种数据结构进行的运算。第 1 5 页1.逻辑结构数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。数据的逻辑结构包含:数据的逻辑结构包含:(1)表示数据元素的信息;)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。)表示各数据元素之间的前后件关系。例:1 .一年四季 的数据结构B=(D,R)D=春,夏,秋,冬春R=(春,夏),(夏,秋),(秋,冬)春 夏 秋 2.家庭成员的数据结构 B=(D,R)D=父亲,儿子,女儿 父亲,父亲 儿子,女儿 R=(
15、父亲,儿 子,(父亲,女儿父亲,父亲,父亲儿子)父亲女儿)春数据结构的图形表示夏 父 亲 秋 冬儿子女 儿 第 1 6 页常见的逻辑结构有:线性结构、树形结构和图形结构。线性结构、树形结构和图形结构。图形结线性结构树形结构构线性结构结 构 的 的 的树形结构结构的图形结构结构的线形结构。线形结构。图 形。的。结构第 1 7 页结构的树形结构和图形结构2 .存储结构(物理结构)存储结构(计算机在实际进行数据处理时,计算机在实际进行数据处理时,被处理的各数据元素总是被存放在计算机的存储空间中,并且,算机的存储空间中,并且,各数据元素在计算机存储空间中的位置与它们的逻辑关系不一定是相同的,而且一般也
16、不可能相同。它们的逻辑关系不一定是相同的,而且一般也不可能相同。如:一年四季 家庭成员计算机存储空间怎样存放?存储结构指数据结构在计算机存储空间中的具体实现。存储结构指数据结构在计算机存储空间中的具体实现。常见的存储结构有:常见的存储结构有:顺序存储结构链式存储结构索引存储结构存储结构只抽象地反映数据元素之间的关系的结构,系的结构,而不管其存储方式的数据结构称为逻辑结构。数据结构称为逻辑结构。?一种数据结构可以根据需要表示一种数据结构可以根据需要表示成一种或多种存储结构。成一种或多种存储结构。第18页通常,一个数据结构中的元素结点可能是动态变化的。通常,一个数据结构中的元素结点可能是动态变化的
17、。根据需要或在处理过程中,据需要或在处理过程中,可以在一个数据结构中增加一个新结 插入运算),也可以删除某个结点(删除运算),),也可以删除某个结点),除 此 之 点(插入运算),也可以删除某个结点(删除运算),除此之对数据结构的运算还有查找、分类、合并、分解、夕 卜,对数据结构的运算还有查找、分类、合并、分解、复制和修改。修改。在对数据结构的处理过程中,在对数据结构的处理过程中,不仅数据结构中结点的个数在动态变化,而且,在动态变化,而且,各数据元素之间的关系也有可能在动态地 变化。变化。如:无序表变有序表3.数据的运算检索插入删除更新排序数据结构是研究数据和数据之间关系的一门学科,关系的一门
18、学科,研究以下三 方 面 内容:内容:数据的逻辑结构数据的存储结构数据的运算第 1 9 页常见的数据结构1.线性表线性表2.栈和队列栈和队列3.树树上一页下一页停止放映第 2 0|9 2 页 2 0|9 2 页|9 21 .线性表(L in ea r L i s t)线性表(L is t)线性表是由n (线 性 表是由(n 0)个数据元素al,a2,ai,,,an 组成的一个有限序列。,,组成的一个有限序列。简单的线性表春 夏 秋 冬复杂的线性表记录1 记录记录2 记录记录3 记录记录4 记录第 2 1 页 0 2 0 1 1 0 0 1张 三 男 李 四 女0 2 0 1 1 0 0 3线性
19、表的存储结构线性表的存储结构有两种:线性表的存储结构有两种:顺序存储结构链式存储结构存储地址2 0 0 0 2 0 0 4al a2 ai an 占4个字节 个字节线性表的顺序存储结构顺序存储结构把逻辑上相邻的顺序存储结构把逻辑上相邻的逻辑上相邻数据元素存储在物理上相邻物理上相邻的存数据元素存储在物理上相邻的存储单元里,顺序存储结构只存储储单元里,顺序存储结构只存储结点的值,不存储结点间的关系,结点的值,不存储结点间的关系,结点间的关系由存储单元的邻接关系来体现。关系来体现。2 0 0 0+4*(1-1)2 0 0 0+4*(n-1)L o a(L o a(ai)=L o a(al)+L*(i
20、 l)=L o a(+L*(第 i个数的地址第一个数的地址L为该类型数所占的字节第2 2 页顺序表的插入和删除运算线性表的顺序存储结构称为顺序表。线性表的顺序存储结构称为顺序表。顺序表的插入运算顺序表的删除运算在线性表顺序存储情况下,在线性表顺序存储情况下,要插入或删除一个元素,都会由于数据元素的移动而消耗大量的处理时间,都会由于数据元素的移动而消耗大量的处理时间,所以这种存储方式对于小线性表或其中数据元素不经常变动的线性表是合适的。常变动的线性表是合适的。第 2 3 页线性表的链式存储结构线性表的链式存储结构称为线性链表。线性表的链式存储结构称为线性链表。链式存储结构不要求逻辑上相邻的数据元
21、素物理位置也相邻,而且各数据元素的存储顺序也是任意的。置也相邻,而且各数据元素的存储顺序也是任意的。各数据元素的先后关系是由各结点的指针域指示。各数据元素的先后关系是由各结点的指针域指示。链式存储结构的每一个存储结点不仅存储结点的值,链式存储结构的每一个存储结点不仅存储结点的值,而且存储结点之间的关系:而且存储结点之间的关系:数据域指针域第 2 4 页线性链表的物理状态线性链表的物理状态应用举例应用举例线性链表的存储结构线性链表的存储结构设线性表为(al,a2,a3,a4,a5)1 al线性表的顺线性表的顺序存储结构序存储结构H E A D123456789 1 0 3a2 al a49 1
22、1 02 a2 3a 34a 45a 5 6 73 1注意:1 2 3此类编号不代表所在的地址单元的地址编码a3 a51 05 095H E A Dala2a3a4a5第 2 5 页线性链表的逻辑状态线性链表的插入和删除运算单链表的插入运算单链表的删除运算采用链式存储结构,存储空间开销较大,采用链式存储结构,存储空间开销较大,但是进行插入和删除运算不会造成大量元素的移动。入和删除运算不会造成大量元素的移动。循环链表是加一种形式的链式存储结构。循环链表是加一种形式的链式存储结构。它的特点是表中最后一个结点的指针域指向头结点。表中最后一个结点的指针域指向头结点。3 H E A D 1 9 5 1
23、0ala2a3a4a5第 2 6 页双向链表的存储结构提问:单向链表的缺点是什么?提示:如何寻找结点的直接前趋。双向链表可以克服单链表的单向性的缺点。在双向链表的结点中有两个指针域,在双向链表的结点中有两个指针域,其一指向直接后继,另一指向直接前趋。直接后继,另一指向直接前趋。3 H E A D 1 5 1 0ala2a3a4双向循环链表第 2 7 页线 性 表:al,a2,a3,a4,a5 ,注意:注意:数据元素在计算机存储空间中的位置关系与它们的逻辑关系 不一定是相同的。不一定是相同的。一个逻辑数据结构可以有多种存储结构,可以有多种存储结构,且不同的存储结构影响数据处理的效率。线性表的存储
24、结构有两种顺序存储结构1 al 2a 23a 34a 45a 5 6 7H E A D 3链式存储结构1 2 3 4 5 6 7 8 9 1 0 a3 a5 5 0 a4 1 0 al 1 a2 9第 2 8 页2.栈和队列栈和队列都是特殊的线性表。栈和队列都是特殊的线性表。栈(S t ac k)及其基本运算S t ac k)队列(Q u e u e)及其基本运算队列(Q u e u e)循环队列及其基本运算第 2 9 页栈(S t ac k)是一种特殊的线性表。其特点是插入和删S t ac k)是一种特殊的线性表线性表。除运算都只能在线性表的一端进行。除运算都只能在线性表的一端进行。栈是按照
25、“先进后出”后进先出”栈是按照“先进后出”或“后进先出”的原则组织数 据的线性表。据的线性表。栈的物理存储结构可以用顺序结构,栈的物理存储结构可以用顺序结构,也可以用链表结构。下面讨论顺序存储结构中栈元素的插入和删除运算。下面讨论顺序存储结构中栈元素的插入和删除运算。顺序栈的进栈和出栈运算栈的基本运算有三种:入栈、栈的基本运算有三种:入栈、退栈和读栈顶元素在顺序栈中插入和删除运算不需要移动表中其他数据元素。移动表中其他数据元素。第 3 0页队 列(Q u e u e)是一种特殊的线性表。其特点是所有的队列(Q u e u e)是一种特殊的线性表。插入都在表的一端进行所有的删除运算都在表的另进行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 考试 公共 基础知识

限制150内