2023年全国计算机等级考试二级公共基础知识考纲.doc
《2023年全国计算机等级考试二级公共基础知识考纲.doc》由会员分享,可在线阅读,更多相关《2023年全国计算机等级考试二级公共基础知识考纲.doc(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录二级公共基础知识考纲 1第一章 数据结构与算法2第二章 程序设计基础19第三章 软件工程基础23第四章 数据库设计基础32全国计算机等级考试二级公共基础知识考纲考试内容一、基本数据结构与算法1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表达;线性结构与非线性结构的概念。3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。5.线性单链表、双向链表与循环链表的结构及其基本运算。6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
2、7.顺序查找与二分法查找算法;基本排序算法(互换类排序,选择类排序,插入类排序)。二、程序设计基础1.程序设计方法与风格。2.结构化程序设计。3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。三、软件工程基础1.软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境。2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。3.结构化设计方法,总体设计与具体设计。4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实行,单元测试、集成测试和系统测试。5.程序的调试,静态调试与动态调试。四、数据库设计基础1.数据库的基本概念:数据库,数据库管理系统,数据库系统。2.数
3、据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。3.关系代数运算,涉及集合运算及选择、投影、连接运算,数据库规范化理论。4.数据库设计方法和环节:需求分析、概念设计、逻辑设计和物理设计的相关策略。考试方式公共基础的考试方式为笔试,与C语言(VisualBASIC、Visual FoxPro、Java、Access、Visual C+)的笔试部分合为一张试卷。公共基础部分占全卷的30分。公共基础知识有10道选择题和5道填空题。第一章 数据结构与算法一、内容要点(一)算法1算法的基本概念算法是指解题方案的准确而完整的描述。即是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是
4、明确的,没有二义性,同时该规则将在有限次运算后可终止。1)算法的基本特性(1)可行性由于算法的设计是为了在某一个特定的计算工具上解决某一个实际的问题而设计的,因此,它总是受到计算工具的限制,使执行产生偏差。如:计算机的数值有效位是有限的,当大数和小数进行运算时,往往会由于有效位数的影响而使小数丢失,因此,在算法设计时,应当考虑到这一点。(2)拟定性算法的设计必须是每一个环节都有明确的定义,不允许有模糊的解释,也不能有多义性。例如,一个实际的问题,小宝和萍萍共有12个苹果,小宝比萍萍多4个,请问小宝和萍萍各有几个苹果?这个问题,我们可以立一个方程 来求解,规定x和y的值,公式是对的的,但如何让计
5、算可以进行计算,我们的算法不能把公式直接输进去,而应当设计出解题的环节和过程。即设计的算法是计算工具所可以正常解决问题的过程。(3)有穷性算法的有穷性,即在一定的时间是可以完毕的,即算法应当在计算有限个环节后可以正常结束。例如,在数学中的无穷级数,在计算机中只能求有限项,即计算的过程是有穷的。(4)拥有足够的情报算法的执行与输入的数据和提供的初始条件相关,不同的输入或初始条件会有不同的输出结果,提供准确的初始条件和数据,才干使算法对的执行。2)算法的基本要素一是数据对象的运算和操作,二是算法的控制结构。(1)算法中对数据的运算和操作算法事实上是按解题规定从环境能进行的所有操作中选择合适的操作所
6、组成的一组指令序列。即算法是计算机所可以解决的操作所组成的指令序列。(2)算法的控制结构算法的功能不仅取决于所选用的操作,并且还与各操作之间的顺序有关。在算法中,操作的执行顺序又称算法的控制结构,一般的算法控制结构有三种:顺序结构、选择结构和循环结构。在算法描述是,有相关的工具对这三种结构进行描述,常用的描述工具有:流程图、N-S结构图和算法描述语言等。3)算法设计的基本方法为用计算机解决实际问题而设计的算法,即是计算机算法。通常的算法设计有如下几种:(1)列举法列举法的基本思想是,根据提出的问题,列举出所有也许的情况,并用问题中给定的条件检查哪些是满足条件的,哪些是不满足条件的。列举法通常用
7、于解决“是否存在”或“有哪些也许”等问题。例如,我国古代的趣味数学题:“百钱买百鸡”、“鸡兔同笼”等,均可采用列举法进行解决。使用列举法时,要对问题进行具体的分析,将与问题有关的知识条理化、完备化、系统化,从中找出规律。(2)归纳法归纳法的基本思想是,通过列举少量的特殊情况,通过度析,最后找出一般的关系。归纳是一种抽象,即从特殊现象中找出一般规律。但由于在归纳法中不也许对所有的情况进行列举,因此,该方法得到的结论只是一种猜测,还需要进行证明。(3)递推递推,即是从已知的初始条件出发,逐次推出所规定的各个中间环节和最后结果。其中初始条件或问题自身已经给定,或是通过对问题的分析与化简而拟定。递推的
8、本质也是一种归纳,递推关系式通常是归纳的结果。例如,裴波那契数列,是采用递推的方法解决问题的。(4)递归在解决一些复杂问题时,为了减少问题的复杂程序,通常是将问题逐层分解,最后归结为一些最简朴的问题。这种将问题逐层分解的过程,并没有对问题进行求解,而只是当解决了最后的问题那些最简朴的问题后,再沿着本来分解的逆过程逐步进行综合,这就是递归的方法。递归分为直接递归和间接递归两种方法。假如一个算法直接调用自己,称为直接递归调用;假如一个算法A调用另一个算法B,而算法B又调用算法A,则此种递归称为间接递归调用。(5)减半递推技术减半递推即将问题的规模减半,然后,反复相同的递推操作。例如,一元二次方程的
9、求解。(6)回溯法有些实际的问题很难归纳出一组简朴的递推公式或直观的求解环节,也不能使用无限的列举。对于这类问题,只能采用试探的方法,通过对问题的分析,找出解决问题的线索,然后沿着这个线索进行试探,假如试探成功,就得到问题的解,假如不成功,再逐步回退,换别的路线进行试探。这种方法,即称为回溯法。如人工智能中的机器人下棋。2算法复杂度算法的复杂度涉及时间复杂度和空间复杂度。1)时间复杂度即实现该算法需要的计算工作量。算法的工作量用算法所执行的基本运算次数来计算。同一个问题规模下,假如算法执行所需要的基本次数取决于某一特定输入时,可以用以下两种方法来分析算法的工作量:算法工作量=f(n)(1)平均
10、性态用各种特定输入下的基本运算次数的加权平均值来度量算法的工作量。设x是某个也许输入中的某个特定输入,p(x)是x出现的概率,t(x)是算法在输入为x时所执行的基本运算次数,则算法的平均性态定义为: Dn表达当规模为n时,算法执行时所有也许输入的集合。(2)最坏情况复杂度指在规模为n时,算法所执行的基本运算的最大次数。它定义为: 例如,在具有n个元素的数列中搜索一个数x。平均性态: 即该数在数列中任何位置出现的数列是相同的,也有也许不存在,存在的概率为q。假如有一半的机会存在,则概率q为1/2,平均性态: 假如查找的元素一定在数列中,则每个数存在的概率即为1,则平均性态为: 最坏情况分析:即要
11、查找的元素X在数列的最后或不在数列中,显然,它的最坏情况复杂度为: 2)算法的空间复杂度指要执行该算法所需要的内存空间。算法所占用的内存空间涉及算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间,如执行过程中工作单元以及某种数据结构所需要的附加存储空间等。(二)数据结构的基本概念1概念数据结构是指互相有关联的数据元素的集合。它涉及以下两个方面:l表达数据元素的信息l表达各数据之间的前后件关系1)数据的逻辑结构是指反映数据元素之间的逻辑关系的数据结构。数据的逻辑结构有两个要素:l数据元素的集合,记作Dl数据之间的前后件关系,记作R则数据结构B=(D,R)2)数据的
12、存储结构数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,或数据的物理结构。即数据存储时,不仅要存放数据元素的信息,并且要存储数据元素之间的前后件关系的信息。通常的数据存储结构有顺序、链接、索引等存储结构。2数据结构的图形表达数据结构的图形表达有两个元素:l中间标有元素值的方框表达数据元素,称为数据结点l用有向线段表达数据元素之间的前后件关系,即有向线段从前件结点指向后件结点注意:在结构图中,没有前件的结点称为根结点,没有后件的结点称为终端结点,也称叶子结点。3线性结构与非线性结构假如一个数据元素都没有,该数据结构称为空数据结构;在空数据结构中插入一个新的元素后数据结构变为非空数据
13、结构;将数据结构中的所有元素均删除,则该数据结构变成空数据结构。假如一个非空的数据结构满足如下条件,则该数据结构为线性结构:l有且只有一个根结点l每一个结点最多只有一个前件,也最多只有一个后件线性结构又称线性表。注意:在线性结构表中插入或删除元素,该线性表仍然应满足线性结构。假如一个数据结构不满足线性结构,则称为非线性结构。(三)线性表及其顺序存储结构1基本概念线性表是最常用的数据结构,它由一组数据元素组成。注意:这里的数据元素是一个广义的数据元素,并不仅仅是指一个数据。如,矩阵、学生登记表等。非空线性表的结构特性:l有且只有一个根结点,它无前件l有且只有一个终端结点,它无后件l除根结点和终端
14、结点之外,所有的结点有且只有一个前件和一个后件。线性表中结点的个数称为结点的长度n。当n=0时,称为空表。2顺序存储结构顺序存储结构的特点:l线性表中所有的元素所占的存储空间是连续的l线性表中各数据元素在存储空间中是按逻辑顺序依次存放的通常,顺序存储结构中,线性表中每一个数据元素在计算机存储空间中的存储地址由该元素在线性表中的位置序号唯一拟定。线性表的顺序存储结构下的基本运算:l在指定位置插入一个元素l删除线性表中的指定元素l查找某个或某些特定的元素l线性表的排序l按规定将一个线性表拆分为多个线性表l将多个线性表合并为一个线性表l复制线性表l逆转一个线性表3线性表的基本操作1)顺序表的插入运算
15、在顺序存储结构的线性表中插入一个元素。注意:找到插入位置后,将插入位置开始的所有元素从最后一个元素开始顺序后移。此外,在定义线性表时,一定要定义足够的空间,否则,将不允许插入元素。2)顺序表的删除运算在顺序在存储结构的线性表中删除一个元素。注意:找到删除的数据元素后,从该元素位置开始,将后面的元素一历来前移动,在移动完毕后,线性表的长度减1(四)栈和队列1栈及其基本运算1)栈栈是一种特殊的线性表,它是限定在一端进行插入和删除的线性表。它的插入和删除只能在表的一端进行,而另一端是封闭的,不允许进行插入和删除操作。在栈中,允许插入和删除操作一端称为栈顶,不允许插入和删除操作的一端则称为栈底。栈顶的
16、元素总是最后被插入的元素,也是最先被删除的元素。它遵循的原则是:先进后出或后进先出。堆栈指针总是指向栈顶元素的。2)栈的顺序存储及其运算在栈的顺序存储空间S(1:m)中,S(bottom)通常为栈底元素,S(top)为栈顶元素。Top=0表达栈空;top=m表达栈满。1)入栈运算即在栈的顶部插入一个新元素。操作方式是:将栈顶指针加1,再将元素插入至指针所指的位置。2)退栈运算退栈运算即将栈顶元素取出并赋给一个指定的变量。操作方式是:先将栈顶元素赋给指定的变量,再将栈顶指针减1。3)读栈顶元素将栈顶元素赋给某一指定变量,但栈顶指针不变。2队列及其基本运算1)队列队列即是允许在一端进行插入,而在另
17、一端进行删除的线性表。允许插入的一端称为队尾,通常用一个尾指针指向队尾;允许删除的一端称为队首,通常用一个队首指针指向排队元素的前一个位置。队列遵循的规则是:先进先出或后进后出2)循环队列及其运算队列的顺序存储结构一般采用循环队列的形式。循环队列,即是次队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置到队尾指针rear指向的位置之间所有的元素均为队列中的元素。循环队列的初始状态为空,即rear=front=m。这里m即为队
18、列的存储空间。循环队列的基本运算:入队运算和退队运算。入队运算:每进行一次入队运算,队尾指针加1。当队尾指针rear=m+1时,即表达队列空间的尾部已经放置了元素,则下一个元素应当旋转到队列空间的首部,即rear=1退队运算:每退队一个元素,排头指针加1。当排头指针front=m+1时,即排头指针指向队列空间的尾部,退队后,排头指针指向队列空间的开始,即front=1。在队列操作时,循环队列满时,front=rear,队列空时,也有rear=front,即在队列空或满时,排头指针和队尾指针均指向同一个位置。要判断队列空或满时,还应增长一个标志,s值的定义: 判断队列空与队列满的条件下:队列空的
19、条件:s=0队列满的条件:s=1、front=rear(1)入队运算即在队尾加入一个新元素。这个运算有两个基本操作:一方面,将队尾指针加1,即rear=rear+1,当rear=m+1时,置rear=1,然后,将新元素插入到队尾指针指向的位置。当循环队列非空(s=1),且front=rear时,队列满,不能进行入队操作。此情况称“上溢”。(2)退队操作即将队首的元素赋给一个指定的变量。该运算也有两个基本操作:一方面,将排头指针加1,即front=front+1,当front=m+1时,置front=1,然后,将排头指针指向的元素赋给指定的变量。当循环队列为空(s=0)时,不能进行退队运算。此种
20、情况称为“下溢”。(五)线性链表1基本概念前面的线性表均是采用顺序存储结构及在顺序存储结构下的运算。1)顺序存储的优点:l结构简朴l运算方便2)顺序存储结构的缺陷:l要在顺序存储的线性表中插入一个新元素或删除一个元素时,为了保证插入或删除后的线性表仍然为顺序存储。在插入或删除元素时,需要移动大量的数据元素,因此运算效率较低。l假如一个线性表分派顺序存储空间后,假如出现线性表的存储空间已满,但还需要插入元素时,会发生“上溢”错误。l在实际应用时,也许有多个线性表同时使用存储空间,这样给存储空间的分派带来问题,有也许使有的队列空间不够或过多导致浪费。基于上述情况,对于大的线性表或元素变动频繁的大线
21、性表不宜采用顺序存储结构,而应采用链式存储结构。3)链式存储结构假设每一个数据结点相应一个存储单元,该存储单元称为存储结点,简称结点。在链式存储方式中,规定每一个结点由两部分组成:一部分用于存放数据元素,你为数据域;另一部分用于存放指针,称为指针域。该指针用于指向该结点的前一个或后一个结点。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系不一致,而数据元素之间的逻辑关系是由指针域来拟定的。链式存储结构既可以用于线性结构,也可用于非线性结构。4)线性链表线性表的链式存储结构称为线性链表。将存储空间划提成若干的小块,每块占用若干个字节,这些小块称为存
22、储结点。将存储结点分为两个部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储元素之间的前后件关系,即存放下一个元素在存储序号(即存储地址),即指向后件结点,称为指针域。在线性链表中用一个专门的指针HEAD指向线性链表中第一个数据元素的结点(即存放第一个元素的地址)。线性表中最后一个元素没有后件,因此,线性链表中的最后一个结点的指针域为空(用Null或0表达),表达链终结。在线性链表中,各元素的存储序号是不连续的,元素间的前后件关系与位置关系也是不一致的。在线性链表中,前后件的关系依靠各结点的指针来指示,指向表的第一个元素的指针HEAD称为头指针,当HEAD=NULL时,表达该链表为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 全国 计算机等级考试 二级 公共 基础知识
限制150内