全国计算机等级考试二级公共基础知识教程.pdf
《全国计算机等级考试二级公共基础知识教程.pdf》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级公共基础知识教程.pdf(98页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、全国计算机等级考试二级公共基础知识全国计算机等级考试二级公共基础知识考纲考试内容一、基本数据结构与算法1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。5.线性单链表、双向链表与循环链表的结构及其基本运算。6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。二、程序设
2、计基础1.程序设计方法与风格。2.结构化程序设计。3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。三、软件工程基础1.软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境。2.结构化分析方法,数据流图,数据字典.,软件需求规格说明书。第 1页全国计算机等级考试二级公共基础知识3.结构化设计方法,总体设计与详细设计。4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。5.程序的调试,静态调试与动态调试。四、数据库设计基础1.数据库的基本概念:数据库,数据库管理系统,数据库系统。2.数据模型,实体联系模型及E-R图,从E-R图导出关
3、系数据模型。3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。考试方式公共基础的考试方式为笔试,与 C 语言(VisualBASIC、VisualFoxPro、Java、Access Visual C+)的笔试部分合为一张试卷。公共基础部分占全卷的30分。公共基础知识有10道选择题和5 道填空题。第 2页全国计算机等级考试二级公共基础知识第 一 章 数据结构与算法一、内容要点(-)算法1.算法的基本概念算法是指解题方案的准确而完整的描述。即是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,
4、且是明确的,没有二义性,同时该规则将在有限次运算后可终止。1)算法的基本特征(1)可行性由于算法的设计是为了在某一个特定的计算工具上解决某一个实际的问题而设计的,因此,它总是受到计算工具的限制,使执行产生偏差。如:计算机的数值有效位是有限的,当大数和小数进行运算时,往往会因为有效位数的影响而使小数丢失,因此,在算法设计时,应该考虑到这一点。(2)确定性算法的设计必须是每一个步骤都有明确的定义,不允许有模糊的解释,也不能有多义性。例如,一个实际的问题,小宝和萍萍共有12个苹果,小宝比萍萍多4个,请问小宝和萍萍各有几个苹果?这个问题,我们可以立一第3页全国计算机等级考试二级公共基础知识x+y=12
5、个方程1 来求解,要 求x和y的值,公式是正确的,但如11-y=4何让计算能够进行计算,我们的算法不能把公式直接输进去,而应该设计出解题的步骤和过程。即设计的算法是计算工具所能够正常解决问题的过程。(3)有穷性算法的有穷性,即在一定的时间是能够完成的,即算法应该在计算有限个步骤后能够正常结束。例如,在数学中的无穷级数,在计算机中只能求有限项,即计算的过程是有穷的。(4)拥有足够的情报算法的执行与输入的数据和提供的初始条件相关,不同的输入或初始条件会有不同的输出结果,提供准确的初始条件和数据,才能使算法正确执行。2)算法的基本要素一是数据对象的运算和操作,二是算法的控制结构。(1)算法中对数据的
6、运算和操作算法实际上是按解题要求从环境能进行的所有操作中选择合适的操作所组成的一组指令序列。即算法是计算机所能够处理的操作所组成的指令序列。(2)算法的控制结构算法的功能不仅取决于所选用的操作,而且还与各操作之间的顺第 4页全国计算机等级考试二级公共基础知识序有关。在算法中,操作的执行顺序又称算法的控制结构,一般的算法控制结构有三种:顺序结构、选择结构和循环结构。在算法描述是,有相关的工具对这三种结构进行描述,常用的描述工具有:流程图、N-S结构图和算法描述语言等。3)算法设计的基本方法为用计算机解决实际问题而设计的算法,即是计算机算法。通常的算法设计有如下几种:(1)列举法列举法的基本思想是
7、,根据提出的问题,列举出所有可能的情况,并用问题中给定的条件检验哪些是满足条件的,哪些是不满足条件的。列举法通常用于解决“是否存在”或“有哪些可能”等问题。例如,我国古代的趣味数学题:“百钱买百鸡”、“鸡兔同笼”等,均可采用列举法进行解决。使用列举法时,要对问题进行详细的分析,将与问题有关的知识条理化、完备化、系统化,从中找出规律。(2)归纳法归纳法的基本思想是,通过列举少量的特殊情况,经过分析,最后找出一般的关系。归纳是一种抽象,即从特殊现象中找出一般规律。但由于在归纳法中不可能对所有的情况进行列举,因此,该方法得到的结论只是一种猜测,还需要进行证明。(3)递推第5页全国计算机等级考试二级公
8、共基础知识递推,即是从已知的初始条件出发,逐次推出所要求的各个中间环节和最后结果。其中初始条件或问题本身已经给定,或是通过对问题的分析与化简而确定。递推的本质也是一种归纳,递推关系式通常是归纳的结果。例如,裴波那契数列,是采用递推的方法解决问题的。(4)递归在解决一些复杂问题时,为了降低问题的复杂程序,通常是将问题逐层分解,最后归结为一些最简单的问题。这种将问题逐层分解的过程,并没有对问题进行求解,而只是当解决了最后的问题那些最简单的问题后,再沿着原来分解的逆过程逐步进行综合,这就是递归的方法。递归分为直接递归和间接递归两种方法。如果一个算法直接调用自己,称为直接递归调用;如果一个算法A调用另
9、一个算法B,而算法B又调用算法A,则此种递归称为间接递归调用。(5)减半递推技术减半递推即将问题的规模减半,然后,重复相同的递推操作。例如,一元二次方程的求解。(6)回溯法有些实际的问题很难归纳出一组简单的递推公式或直观的求解步骤,也不能使用无限的列举。对于这类问题,只能采用试探的方法,通过对问题的分析,找出解决问题的线索,然后沿着这个线索进行试探,如果试探成功,就得到问题的解,如果不成功,再逐步回退,换第6页全国计算机等级考试二级公共基础知识别的路线进行试探。这种方法,即称为回溯法。如人工智能中的机器人下棋。2.算法复杂度算法的复杂度包括时间复杂度和空间复杂度。1)时间复杂度即实现该算法需要
10、的计算工作量。算法的工作量用算法所执行的基本运算次数来计算。同一个问题规模下,如果算法执行所需要的基本次数取决于某一特定输入时,可以用以下两种方法来分析算法的工作量:算法工作量=f(n)(1)平均性态用各种特定输入下的基本运算次数的加权平均值来度量算法的工作量。设x是某个可能输入中的某个特定输入,p (x)是x出现的概率,t(x)是算法在输入为x时所执行的基本运算次数,则算法的平均性态定义为:A()=p(x)心)D.表示当规模为n时-,算法执行时所有可能输入的集合。(2)最坏情况复杂度指在规模为n时,算法所执行的基本运算的最大次数。它定义为:=max“(x)第7页全国计算机等级考试二级公共基础
11、知识例如,在具有n个元素的数列中搜索一个数X。平均性态:A(/i)=之pt.+q)n=(口 D +(1-q)n,=i,=i n 2即该数在数列中任何位置出现的数列是相同的,也有可能不存在,存在的概率为q。如果有一半的机会存在,则概率q为1/2,平均性态:(/n+八l)x1 3A()=-+(1 )/1 /12 2 4如果查找的元素一定在数列中,则每个数存在的概率即为1,则平均性态为:A(n)=最坏情况分析:即要查找的元素X在数列的最后或不在数列中,显然,它的最坏情况复杂度为:W(n)=maxtiil,则该结点的父结点编号为I N T(k/2)o 若2 k W n,则编号为k的结点的左子结点编号为
12、2 k;否则该第24页全国计算机等级考试二级公共基础知识结点无左子结点(当然也没有右子结点)若2 k+l W n,则编号为k的结点的右子结点编号为2 k+l;否则该结点无右子结点。3.二叉树的存储结构二叉树的存储常采用链式存储结构。存储二叉树中各元素的存储结点由两个部分组成:数据域和指针域。在二叉树中,由于每个结点可有两个子结点,则它的指针域有两个:一个用于存储该结点的左子结点的存储地址,即称为左指针域;一个用于存储指向该结点的右子结点的存储地址,称为右指针域。存储结构如下:L chil d V a l u e R chiI di L(i)V(i)R(i)即二叉树的存储结构中每一个存储结点都有
13、两个指针域,因此,二叉树的链式存储结构也称为二叉树的链表。在二叉树在存储中,用一个头指针指向二叉树的根结点的存储地址。如图所示的二叉树:第 25页全国计算机等级考试二级公共基础知识如果我们将该二叉树的所有结点顺序编号,顺序存放在存储空间里,则它们在内存空间中的存放方式是:第26页全国计算机等级考试二级公共基础知识1 50001 60P01 70Q01 80R0当然,对于满二叉树或完全二叉树而言,也可采用顺序存储的方式,但顺序存储的方式不适合其他的二叉树。4.二叉树的遍历二叉树的遍历即是不重复地访问二叉树的所有结点。在遍历二叉树时,一般先遍历左子树,然后再遍历右子树。在先左后右的原则下,二叉树的
14、遍历又可分为三种:前序遍历、中序遍历和后序遍历。1)前序遍历前序遍历即先访问根结点,然后遍历左子树,最后遍历右子树。在遍历左子树和遍历右子树时.,依然是先遍历根结点,然后是左子树,再是右子树。操作的具体方式:若二叉树为空,则结束返回。否则:访问根结点前序遍历左子树一前序遍历右子树如上图所示的完全二叉树,它的前序遍历结果是:A、B、D、H、P、Q、I、R、E、J、K、C、F、L、M、G、N、0第27页全国计算机等级考试二级公共基础知识2)中序遍历中序遍历,即先遍历左子树,然后访问根结点,最后是遍历右子树。具体的操作方式:若二叉树为空,则结束返回。否则:中序遍历左子树访问根结点一中序遍历右子树这里
15、强调,在遍历左子树和右子树时,仍然要采用中序遍历的方法。如上图所示的完全二叉树,它的中序遍历结果是:P、H、Q、D、R、I、B、J、E、K、A、L、F、M、C、N、G、03)后序遍历后序遍历,即选遍历左子树,然后是遍历右子树,最后访问根结占O具体的操作方式:若二叉树为空,则结束返回I。否则:前序遍历左子树一前序遍历右子树一访问根结点如上图所示的完全二叉树,它的后序遍历结果是:P、Q、H、R、I、D、J、K、E、B、L、M、F、N、0、G、C、A(七)查找技术查找即是指在一个给定的数据结构中查找某个指定的元素。第28页全国计算机等级考试二级公共基础知识1.顺序查找顺序查找又称顺序搜索。一般是在线
16、性表中查找指定的元素。基本操作方法是:从线性表的第一个元素开始,与被查元素进行比较,相等则查找成功,否则继续向后查找。如果所有的元素均查找完毕后都不相等,则该元素在指定的线性表中不存在。顺序查找的最好情况:要查找的元素在线性表的第一个元素,则查找效率最高;如果要查找的元素在线性表的最后或根本不存在,则查找需要搜索所有的线性表元素,这种情况是最差情况。对于线性表而言,顺序查找效率很低。但对于以下的线性表,也只能采用顺序查找的方法:线性表为无序表,即表中的元素没有排列不是按大小顺序进行排列的,这类线性表不管它的存储方式是顺序存储还是链式存储,都只能按顺序查找方式进行查找 即使是有序线性表,如果采用
17、链式存储,也只能采用顺序查找方式例如,现有线性表:7、2、1、5、9、4,要在序列中查找元素6,查找的过程是:整个线性表的长度为5 查找计次n=l,将元素6与序列的第一个7元素进行比较,不等,继续查找 n=2,将6与第二个元素2进行比较,不等,继续第29页全国计算机等级考试二级公共基础知识 n=3,将6与第三个元素1进行比较,不等,继续 n=4,将6与第四个元素5进行比较,不等,继续 n=5,将6与第五个元素9进行比较,不等,继续 n=6,将6与第六个元素4进行比较,不等,继续 n=7,超出线性表的长度,查找结束,则该表中不存在要查找的元素。2.二分查找二分查找只适用于顺序存储的有序表。此处所
18、述的有序表是指线性中的元素按值非递减排列(即由小到大,但允许相邻元素值相等)。二分查找的方法如下:将要查找的元素与有序序列的中间元素进行比较:如果该元素比中间元素大,则继续在线性表的后半部分(中间项以后的部分)进行查找如果要查找的元素的值比中间元素的值小,则继续在线性表的前 半 部 分(中间项以前的部分)进行查找这个查找过程一直按相同的顺序进行下去,一直到查找成功或子表长度为0 (说明线性表中没有要查找的元素)有序线性表的二分法查找,条件是必须这个有序线性表的存储方式是顺序存储的。它的查找效率比顺序查找要高得多,它的最坏情况的查找次数是l o g 2 n次,而顺序查找的最坏情况的查找次数是n次
19、。当然,二分查找的方法也支持顺序存储的递减序列的线性表。有非递减有序线性表:1、2、4、5、7、9,要查找元素6 查找第 30页全国计算机等级考试二级公共基础知识的方法是:序列长度为n=6,中间元素的序号m=(n+l)/2 =3 查找计次k=l,将元素6与中间元素即元素4进行比较,不等,6 4 查找计次k=2,查找继续在后半部分进行,后半部分子表的长度 为3,计算中间元素的序号:m=3+(3+l)/2 =5,将元素与后半部分的中间项进行比较,即第5个元素中的7进行比较,不等,6 294176后)259 41762549 17623419 76254179 6第一遍结束后2541769第32页全
20、国计算机等级考试二级公共基础知识第 二 遍(从前往25 41769后)245 176924157 692415679第二遍结束后2415679第 三 遍(从前往24 15679后)2145679第三遍结束2145679第 四 遍(从前往2 145679后)1245679第四遍结束1245679最后结果1245679扫描的次数,最多需要扫描n T 次,如果序列已经就位,则扫描结束。测试是否已经就位,可设置一个标志,如果该次扫描没有数据交换,则说明数据排序结束。2)快速排序法冒泡排序方法每次交换只能改变相邻两个元素之间的逆序,速度相对较慢。如果将两个不相邻的元素之间进行交换,可以消除多个逆序。第3
21、3页全国计算机等级考试二级公共基础知识快速排序的方法是:从线性表中选取一个元素,设为T,将线性表后面小于T的元素移到前面,而前面大于T的元素移到后面,结果将线性表分成两个部分(称为两个子表),T插入到其分界线的位置处,这个过程称为线性表的分割。对过对线性表的一次分割,就以T为分界线,将线性表分成前后两个子表,且前面子表中的所有元素均不大于T,而后面的所有元素均不小于T。再将前后两个子表再进行相同的快速排序,将子表再进行分割,直到所有的子表均为空,则完成快速排序操作。在快速排序过程中,随着对各子表不断的进行分割,划分出的子表会越来越多,但一次又只能对一个子表进行分割处理,需要将暂时不用的子表记忆
22、起来,这里可用栈来实现。对某个子表进行分割后,可以将分割出的后一个子表的第一个元素与最后一个元素的位置压入栈中,而继续对前一个子表进行再分割;当分割出的子表为空时一,可以从栈中退出一个子表进行分割。这个过程直到栈为空为止,说明所有子表为空,没有子表再需分割,排序就完成。2.插入类排序法1)简单插入排序插入排序,是指将无序序列中的各元素依次插入到已经有序的线性表中。插入排序操作的思路:在线性表中,只包含第1个元素的子表,第 34页全国计算机等级考试二级公共基础知识作为该有序表。从线性表的第2个元素开始直到最后一个元素,逐次将其中的每一个元素插入到前面的有序的子表中。该方法与冒泡排序方法的效率相同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 公共 基础知识 教程
限制150内