为了方便计算机等级试,特意整理出来的。
第一章数据结构与算法1算法是解题方案的准确而完整的描述,它不等于程序,也不等于计算方法。基本特征:可行性、确定性、有穷性、拥有足够的情报。
2算法复杂度主要包括时间复杂度和空间复杂度。时间复杂度:用来衡量算法执行过程中所需要的基本运算次数。
空间复杂度:用来衡量算法执行过程中所需要的存储空间。3数据结构研究的主要内容:(1)数据的逻辑结构(2)数据的存储结构(3)对各种数据结构进行的运算4研究数据结构的主要目的:提高数据处理的效率。
5数据结构的定义:指相互关联的数据元素的集合。6数据的逻辑结构反映数据元素之间的逻辑关系,数据的存储结构是数据的逻辑结构在计算机存储空间的存放形式。
同一种逻辑结构可以采用不同存储结构,但影响数据处理效率。7数据结构分为两大类型:线性结构与非线性结构常见线性结构:线性表、栈、队列、线性链表常用非线性结构:树、二叉树、图8线性表示由n(n>=0)个相同类型的数据元素构成的有限序列。
结构特征:(1)数据元素在表中的位置由序号决定,数据元素之间的相对位置是线性的(2)对于一个非空线性表,有且只有一个根节点a1,它无前件,有且只有一个终端结点an,它无后件,除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。基本存储结构:(1)顺序存储(2)链式存储9顺序表的插入运算时需要移动元素,在等概率情况下,平均需要移动n/2个元素。
10进行顺序表的删除运算时也需要移动元素,在等概率情况下,平均移动(n-1)/2个元素。11栈只能在栈顶插入或删除元素,是一种先进后出FILO(或称为后入先出LIFO)的线性表。
12队列是只能从队尾插入元素,在队头删除元素,是一种先进先出FIFO(或后入后出LILO)的线性表。13线性链表不能随机存取。
14在线性链表中插入元素时,不需要移动数据元素,只需要修改相关结点指针即可,也不会出现“上溢”现象。15在线性链表中删除元素时,也不需要移动数据元素,只需要修改相关结点指针即可。
16循环链表实单链表基础上增加了一个表头结点,其插入和删除运算与单链表相同,可以从任意结点出发来访问表中其他所有结点,并实现空表与非空表的运算。17一般二叉树通常采用链式存储结构,对于满二叉树与完全二叉树来说,可以按层序进行顺序存储。
18二分查找知识用于顺序存储的线性表,对于无序线性表和线性表的链式存储结构只能用顺序查找。19冒泡排序是每一趟都会把较小的元素先前移动,最坏比较次数是n(n-1)/2。
20简单插入排序法是将无序序列中的各元素依次插入到已经有序的线性表中,最坏比较次数为n(n-1)/2。21希尔排序法的基本思想:将无序序列划分成若干个子序列(又相隔某个增量h的元素组成)分别进行直接插入排序,待整个序列中的元素基本有序(增量足够小)时,在对全体元素进行一次直接插入排序。
因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的。22选择排序每一趟都是找出无序序列中的最小一个元素,最坏比较次数为n(n-1)/2。
23排序技术:(1)交换排序法:冒泡排序、快速排序(2)插入排序法:简单插入排序法、希尔排序(3)选择排序法:简单选择排序法、堆排序法。
一、基本数据结构与算法
1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。
4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
5.线性单链表、双向链表与循环链表的结构及其基本运算。
6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、程序设计基础
1.程序设计方法与风格。
2.结构化程序设计。
3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、软件工程基础
1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。
2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3.结构化设计方法,总体设计与详细设计。
4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5.程序的调试,静态调试与动态调试。
四、数据库设计基础
1.数据库的基本概念:数据库,数据库管理系统,数据库系统。
2.数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。
3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。
这些你可以到未来教育网上详细看看!
计算机二级公共基础知识总结
数据结构与算法
1.1 算法
算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括:
(1)可行性;
(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;
(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;
(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念
数据结构研究的三个方面:
(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;
(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;
(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:
(1)表示数据元素的信息;
(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。等等
【【上 学 吧】】 有详细的资料 自己去看看
1、算法问题处理方案的正确而完整的描述称为【算法】。
算法分析的目的是,分析算法的效率以求改进。算法的基本特征是【可行性】、【确定性】、【有穷性】和拥有足够情报。
算法的有穷性是指:算法程序的运行时间是有限的。算法的复杂度是衡量算法好坏的度量,分为【时间复杂度】和【空间复杂度】。
时间复杂度是指执行算法所需要的【计算工作量】;算法的空间复杂度是指算法执行过程中所需的【存储空间】。算法时间复杂度或空间复杂度中的一项的值,没有办法推出另一项的值。
2、数据结构索引属于存储结构(物理结构)。循环队列属于【存储结构】。
数据的存储结构又称为物理结构,是数据的逻辑结构在计算机存储空间中的存放形式。一个逻辑结构可以有多种存储结构,且各种存储结构影响数据处理的效率。
程序执行的效率与数据的存储结构密切相关。数据结构分为线性结构和非线性结构,带链的队列属于【线性结构】。
线性表的存储结构主要分为顺序存储结构和链式存储结构。顺序存储结构的存储一定是连续的,链式存储的存储空间不一定是连续的。
有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。队列是一种特殊的线性表,循环队列按照【先进先出】原则组织数据。
循环队列是队列的【顺序】存储结构。数据的独立性分为【物理独立】性和【逻辑独立性】。
当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序可以不用修改,称为【物理独立性】。3、栈和队列栈是一种特殊的线性表,是只能在一端进行插入和删除的线性表,特点是先进后出栈是【先进后出】的线性表;栈具有记忆作用;对栈的插入与删除操作中,不需要改变【栈底指针】。
假定让元素1、2、3、A、B依次入栈,则出栈的顺序是:B、A、3、2、1。栈与队列都是线性结构,树是非线性结构。
支持子程序调用的数据结构是【栈】。栈与队列的共同点是,都只允许在【端点处】插入和删除元素。
栈只能顺序存储的描述是错误的。栈可以有【顺序和链式】两种存储方式。
队列是允许在一段插入,在另一端进行删除的线性表,其特点是【先进先出】。循环队列中元素的个数是由队头指针和队尾指针共同决定。
循环队列的头指针为front,尾指针为rear,容量为maxSize,则循环队列中元素的个数是【 (rear-front+maxSize) mod maxSize】。4、线性链表线性链表是线性表的链式存储结构。
用链表表示线性表的优点是【便于插入和删除操作】。线性链表的存储空间不一定连续,且个元素的存储顺序是任意的。
5、树与二叉树在树结构中,一个结点所拥有的后件(继)的个数称为该结点的度,所有结点中最大的度称为树的度。二叉树各结点的度只可能取值0、1、2,不可能是其它值。
换言之,知道了度为1结点数量的前提下,叶子结点或度为2的结点中知道其一,就可以求出总的结点数。上述的计算公式,关键要能够应用,例如,深度为7的满二叉树,度为2的结点数量是多少?既然是满二叉树,叶子结点的数量就是第7层的结点数量,也就是26,可以算出叶子结点为64,因此度为2的结点数是63(叶子结点数减去1)。
二叉树的前序遍历、中序遍历、后续遍历:前中后三个词是相对于根来讲的,前序是【根-->左-->右】,中序是【左-->根-->右】,后续是【左-->右-->根】。具体操作为:先序遍历(D L R): 访问根结点,按先序遍历左子树,按先序遍历右子树。
中序遍历(L D R): 按中序遍历左子树,访问根结点,按中序遍历右子树。后序遍历(L R D): 按后序遍历左子树,按后序遍历右子树,访问根结点。
下面以中序遍历为例,来讲解实际的解题方法:对一棵树,将根结点下的左子树用一个椭圆圈起来,右子树也用一个椭圆圈起来。之后,在左子树上标记上1,在根结点标记上2,在右子树上标记上3。
对在左边椭圆内的左子树,现在把它单独拿出来分析。把它的左子树圈起来标上1.1,根结点标记上1.2,右子树标上1.3。
按照上述方法依次往下,直到树不能拆分,然后按照“左-->根--->右”的顺序写出结点的访问先后即可。6、查找技术对于长度为n的线性表,顺序查找最坏情况下需要比较n次。
(对数据是否有序没有要求)。◆ 顺序查找最好情况下查询次数是1,最坏情况下是n,平均为(1+n)/2。
对于长度为n的有序线性表,二分法最坏情况下只需要比较log2n次。(数据必须有序)能用二分法进行查找的是【顺序存储的有序线性表】。
7、排序技术对于长度为n的线性表,【冒泡排序、快速排序、简单插入排序、简单选择排序】这四种排序方式在最坏情况下的比较次数相同,都是【n(n-1)/2】。堆排序的效率最高,是【nlog2n】。
★★ 希尔排序最坏情况下需要次比较【n1.5】。希尔排序属于【插入类排序法】。
已知数据表A中每个元素距最终位置不远,为节省时间,应该采用的算法是【直接插入排序】。选择排序、插入排序、快速排序、归并排序中对内存要求最大的是【归并排序】。
第二部分 软件工程基础 1、软件工程基本概念软件是包括【程序】、【数据】及【相关文档】的完整集合,软件是一种逻辑产品。软件工程三要素包括【方法、工具。
计算机二级公共基础知识是计算机中综合性知识,占30分。
包含的科目有数据结构,软件工程,算法设计与分析,数据库设计等。而这些科目都属于计算机专业必修课,也是一个程序员的必备理论基础。
我们知道二级的目标定位就是程序员的水平,所以这些科目都是必考内容。 那么如何备考呢?实际上很简单,只要买一本教育部考试中心出版的计算机二级考试公共基础知识大纲级指导书(一定是教育部出版发行的那种),回来抽个时间仔细研读一番就可以了,而且无须做大量练习题,因为二级要求不高,停留在概念的阶段。
复习时,不要将其看的太重,因为大家的水平都差不多,除非计算机专业的。 ========================================== 全国计算机等级考试二级公共基础知识考试大纲 基本要求 1。
掌握算法的基本概念。 2。
掌握基本数据结构及其操作。 3。
掌握基本排序和查找算法。 4。
掌握逐步求精的结构化程序设计方法。 5。
掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。 6。
掌握数据的基本知识,了解关系数据库的设计。 考试内容 一、基本数据结构与算法 1。
算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。 2。
数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。 3。
线性表的定义;线性表的顺序存储结构及其插入与删除运算。 4。
栈和队列的定义;栈和队列的顺序存储结构及其基本运算。 5。
线性单链表、双向链表与循环链表的结构及其基本运算。 6。
树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。 7。
顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。 二、程序设计基础 1。
程序设计方法与风格。 2。
结构化程序设计。 3。
面向对象的程序设计方法,对象,方法,属性及继承与多态性。 三、软件工程基础 1。
软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境。 2。
结构化分析方法,数据流图,数据字典,软件需求规格说明书。 3。
结构化设计方法,总体设计与详细设计。 4。
软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。 5。
程序的调试,静态调试与动态调试。 四、数据库设计基础 1。
数据库的基本概念:数据库,数据库管理系统,数据库系统。 2。
数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。 3。
关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。 4。
数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。 。
我也考过计算机二级C,当时我已经学习过C语言了,但是对于计算机二级的公共基础知识中涉及的数据结构(考过并且学过之后还是觉得数据结构占很大部分)网络基础之类的东西一点意识都没有,但是我不建议你再专门学习这些课,因为公共基础知识考的很简单,只是表面的一些东西,深究起来倒会有很多不明白。楼上两位朋友都说的很对,这个东西希望你去买一本书,最好有上机和笔试两部分,并且有真题。谭浩强那本书很好,如果你认真看C语言是一点问题都没有的,之所以还需要真题,是因为上机题就是那几种类别,个人感觉不会很难;笔试的内容不要死记硬背,你在选择真题时买那种有详细简答的,就是给出答案后会对这道题涉及的知识点有一个梳理的那种。比如说有道题是二叉树的前序遍历,然后它会在后面告诉你什么是二叉树,二叉树有三种遍历方式:前序,中序和后序,并且结合题目具体给出各个结点的排序。这种方式很容易接受,况且咱们主要目的是会运用这些知识答题,所以结合题目来复习是最好的。至于具体买哪本书,楼主自己挑挑,其实市面上卖的书都差不多。
以上是我个人的一点经验,希望对你的复习会有所帮助。祝你新年快乐并且能够在考试中取得好成绩。
二级公共基础知识(填空题40道)(1) 算法的复杂度主要包括______复杂度和空间复杂度。
时间(2) 数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。(3) 若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。
答:黑盒(4) 如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体"工人"与实体"设备"之间存在______联系。答:一对多#1:n#1:n(5) 关系数据库管理系统能实现的专门关系运算包括选择、连接和______。
答:投影(6) 在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、______遍历和后序遍历。答:中序(7) 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句。
答:模块化(8) 软件的调试方法主要有:强行排错法、______和原因排除法。答:回溯法(9) 数据库系统的三级模式分别为______模式、内部级模式与外部级模式。
答:概念#概念级(10) 数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。答:数据存储(11) 设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点。
答:250(12) 在最坏情况下,冒泡排序的时间复杂度为______。答:n(n-1)/2#n*(n-1)/2#o(n(n-1)/2)#o(n*(n-1)/2)(13) 面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。
答:实体(14) 软件的需求分析阶段的工作,可以概括为四个方面:______、需求分析、编写需求规格说明书和需求评审。答:需求获取(15) ______是数据库应用的核心。
答:数据库设计(16) 数据结构包括数据的______结构和数据的存储结构。答:逻辑(17) 软件工程研究的内容主要包括:______技术和软件工程管理。
答:软件开发(18) 与结构化需求分析方法相对应的是______方法。答:结构化设计(19) 关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、______和自定义完整性。
答:参照完整性(20) 数据模型按不同的应用层次分为三种类型,它们是______数据模型、逻辑数据模型和物理数据模型。答:概念(21) 栈的基本运算有三种:入栈、退栈和______。
答:读栈顶元素#读栈顶的元素#读出栈顶元素(22) 在面向对象方法中,信息隐蔽是通过对象的______性来实现的。答:封装(23) 数据流的类型有______和事务型。
答:变换型(24) 数据库系统中实现各种数据管理功能的核心软件称为______。答:数据库管理系统#dbms(25) 关系模型的数据cao纵即是建立在关系上的数据cao纵,一般有______、增加、删除和修改四种cao作。
答:查询(26) 实现算法所需的存储单元多少和算法的工作量大小分别称为算法的 ______。答:空间复杂度和时间复杂度(27) 数据结构包括数据的逻辑结构、数据的 ______以及对数据的cao作运算。
答:存储结构(28) 一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的______。
答可重用性(29) 面向对象的模型中,最基本的概念是对象和 ______。答:类(30) 软件维护活动包括以下几类:改正性维护、适应性维护、______维护和预防性维护。
答:完善性(31) 算法的基本特征是可行性、确定性、______和拥有足够的情报。答:有穷性(32) 顺序存储方法是把逻辑上相邻的结点存储在物理位置______的存储单元中。
答:相邻(33) jackson结构化程序设计方法是英国的m.jackson提出的,它是一种面向______的设计方法。答:数据结构(34) 数据库设计分为以下6个设计阶段:需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
答:概念设计阶段#数据库概念设计阶段(35) 数据库保护分为:安全性控制 、______、并发性控制和数据的恢复。答:完整性控制(36) 测试的目的是暴露错误,评价程序的可靠性;而______的目的是发现错误的位置并改正错误。
答:调试(37) 在最坏情况下,堆排序需要比较的次数为______。答:o(nlog2n)(38) 若串s="program",则其子串的数目是______。
答:29(39) 一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体"项目主管"与实体"项目"的联系属于______的联系。答:1对多#1:n(40) 数据库管理系统常见的数据模型有层次模型、网状模型和______三种。
答:关系模型。
去百度文库,查看完整内容> 内容来自用户:梅悠心理 复习及应试建议:1.考生的复习必须遵守:“80/20的原则”二级考试的公共知识部分的覆盖面广,至少涵盖了计算机应用专业的四门核心课程:算法及数据结构、程序设计基础、软件工程基础和数据库。
事实上,这些课程本身的涉及面就很广,难度系数较大。因此,这些课程甚至也是计算机专业学生最头疼的课程,对大多数考生来说其难度之大不言而喻。
所以,考生应把80%的时间用在20%的重点知识点上,争取用20%的重点知识点来答对80%的考题,这是考生复习二级考试的公共知识部分的总体思路。2.复习的关键是考生必须准确判断和掌握常见考点考生必须能够准确判断和掌握常见考点,例如:算法部分主要考查算法的概念及算法的复杂度;数据结构部分主要考查最基本的概念、最典型的数据结构和最常见的操作;程序设计部分主要考查程序设计风格的基本要求、结构化程序设计的最基本知识和面向对象程序设计的最常见概念;软件工程基础部分主要考查软件工程的基本概念及软件生命周期的各个阶段的基础知识;数据库基础部分主要考查数据库基本概念、数据模型、关系代数基础知识、数据库设计方法和步骤。
对常见考点的准确把握会使考生避免盲目学习,从而能够轻松面对考试。二级考试中要求的知识点都是最基本的、最简单的,真正需要数据的存储结构有顺序、链接、索引等。
其允许插入与删除的一端称为栈顶,用指针(2)例1.82.3消息的组成包括:(①软件设计的基本原理是:(动态测试:是基本计算。
公共基础知识
基本要求
1. 掌握算法的基本概念。
2. 掌握基本数据结构及其操作。
3. 掌握基本排序和查找算法。
4. 掌握逐步求精的结构化程序设计方法。
5. 掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。
6. 掌握数据的基本知识,了解关系数据库的设计。
考试内容
一、基本数据结构与算法
1. 算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2. 数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3. 线性表的定义;线性表的顺序存储结构及其插入与删除运算。
4. 栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
5. 线性单链表、双向链表与循环链表的结构及其基本运算。
6. 树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
7. 顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、程序设计基础
1. 程序设计方法与风格。
2. 结构化程序设计。
3. 面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、软件工程基础
1. 软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境。
2. 结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3. 结构化设计方法,总体设计与详细设计。
4. 软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5. 程序的调试,静态调试与动态调试。
四、数据库设计基础
1. 数据库的基本概念:数据库,数据库管理系统,数据库系统。
2. 数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。
3. 关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4. 数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:3.323秒