计算机二级基础知识.docx
《计算机二级基础知识.docx》由会员分享,可在线阅读,更多相关《计算机二级基础知识.docx(12页珍藏版)》请在冰豆网上搜索。
计算机二级基础知识
算法---是一组严谨地定义运算顺序的规则
算法的基本要素---一是对数据对象的运算和操作,二是算法的控制结构
算法设计基本方法---列举法、归纳法、递推、递归、减半递推
算法的复杂度---包括时间复杂度和空间复杂度 时间复杂度---执行算法所需的计算工作量
空间复杂度---执行算法所需的内存空间数据结构---相互有关联的数据元素的集合。
前件---数据元素之间的关系,如父亲是儿子和女儿的前件 后件---如儿子是父亲的后件
结构---指数据元素之间的前后件关系
数据的逻辑结构—是指反映数据元素之间逻辑关系,而与它们在计算机中的存储位置无关
数据的存储结构(物理结构)---数据的逻辑结构在计算机存储空间中的存放形式,数据元素在计算机存储空间的位置关系可能与逻辑关系不同。
根据数据结构中各数据元素之间前后件关系的复杂程度,可将数据结构分两类---线性结构与非线性结构
线性结构(线性表)---满足下列两个条件
(1)有且只有一个根结点
(2)每一个结点最多有一个前件和后件。
则称该数据结构为线性结构,否则为非线性结构。
线性表是最简单、最常用的一种数据结构,其数据元素之间的相对位置是线性的,其存储方式为顺序存储的,如数组
栈---是限定在一端进行插入与删除的线性表,一端封闭,另一端开口,其操作原则是“先进后出”,栈的运算有入栈、退栈、读栈顶元素
队列---是指在一端进行插入(称为队尾)而在另一端进行删除(称为队头)的线性表,其操作规则是“先进先出”,其运算有入队和退队。
树---是一种简单的非线性结构,而且是层次结构,是倒立的大树,有根结点、父结点、子结点、叶子结点。
根结点在第一层,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度,树的最大层次称为树的深度。
二叉树---
(1)非空二叉树只有一个根结点
(2)每一个结点最多有两棵子树(左子树和右子树),其存储结构为链式。
二叉树性质---
(1)K层上最多有2(K-1)个结点
(2)深度为m的二叉树最多有2m-1个结点
(3)度为0的结点(叶子结点)比度为2的结点多一个(4)具有n个结点的二叉树,其深度至少为[Log2n]+1,其中[Log2n]表示对Log2n取整
满二叉树---除最后一层外,其余层的结点都有两个子结点
完全二叉树---除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点,叶子结点只可能在层次最大的两层上出现。
满二叉树是完全二叉树,而完全二叉树不是满二叉树。
完全二叉树有两个性质:
(1)具有n个结点的完全二叉树的深度为[Log2n]+1
(2)
二叉树遍历---不重复地访问各个结点。
分为前序遍历(DLR-根左右)、中序遍历(LDR-左根右)和后序遍历(LRD-左右根)
查找技术---顺序查找——对于长度为n的有序线性表,查找时需要比较n次
二分法查找——对于长度为n的有序线性表,查找时需要比较log2n次
排序技术---假设线性表的长度为n,则冒泡排序和简单插入排序的比较次数(时间复杂度)为n(n-1)/2;希尔排序的比较次数为O(n1.5);简单选择排序的比较次数为n(n-1)/2;堆排序的比较次数为O(nlog2n).
1、程序设计方法和技术的发展经过了结构化程序设计和面向对象设计两个阶段。
2、当今程序设计的风格是“清晰第一,效率第二”。
3、程序可以没有输入,但是一定要有输出。
4、结构化程序设计遵循:
自顶向下,逐步求精,模块化,限制使用goto语句(常考)。
5、面向对象的基本特点:
标志唯一性,分类性,多态性,封装性,模块独立性。
尤其重要的是多态性和封装性。
没有类比性。
6、多态性:
统一操作可以是不同对象的行为。
同样的消息被不同的对象接收时可导致不同的动作的现象。
7、封装性:
从外面看不到对象的内部,只能看到对象的外部特性。
8、类:
是具有共同属性、共同方法的对象的集合。
描述了属于该对象类型的所有对象的性质,而一个对象则是对应类的一个实例。
(常考)
9、消息:
是指对象间的相互合作的协作机制,是一个对象与另一个对象之间的传递的消息。
10、继承:
是指使用已有的类定义作为基础建立新类的定义技术。
继承分为单继承和多继承。
单继承只有一个父亲,多继承可以有多个父亲。
11、面向对象中,类的实例叫做对象。
12、源程序文档化要求程序应该加上注释。
注释一般为序言性注释和功能性注释。
13、面向对象方法和技术是以对象为核心
软件工程基础
1、软件工程的核心思想是把软件当作一个工程产品来处理。
2、软件开发的三个阶段以及每个阶段的任务:
3、软件开发方法包括分析方法,设计方法,程序设计方法。
4、结构化方法包括结构化分析方法,结构化设计方法,结构化编程方法。
5、结构化分析方法在软件需求分析阶段的应用。
6、结构化分析常用的工具中最重要的工具是数据流图。
○表示加工,→表示数据流,—数据源,□表示源。
7、软件规格说明书(SRS)是需求分析阶段的最后结果,是软件开发文档重要的文档之一。
8、软件设计要求低耦合性和高内聚性是考试的重点,要知道什么是耦合,什么是内聚。
9、软件测试和程序调试的区别。
软件测试的过程涵盖了整个软件生命周期。
目的是为了发现错误而执行程序的过程。
10、从是否要执行被测试软件的角度,软件测试分为静态测试和动态测试。
11、从功能上划分,软件测试分为白盒测试和黑盒测试。
12、白盒测试是检查内部成分,方法有:
逻辑覆盖测试方法,基本路径测试。
13、黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。
方法有:
等价类划分法,边界值划分法,错误推测法。
14、软件测试的四个步骤。
自己默写一遍。
15、程序调试的任务:
诊断和改正程序中错误,它和软件测试不同,调试主要在开发阶段。
16、软件调试方法:
强制排错法,回朔法,原因排除法。
17、软件维护不属于软件生命周期开发阶段的任务。
18、软件进行了程序调试后还要进行测试。
19、软件工程的主要思想是:
强调在软件开发过程中需要应用工程化的原则。
20、软件设计中,不属于过程设计工具的是:
DFD图。
21、结构化分析常见的工具:
DFD图,DD(数据字典),判定树,判定表。
22、程序和软件是不同的,软件是程序、数据与相关文档的集合。
23、软件的开发、运行对计算机系统具有依赖性。
24、软件工程的三要素:
工具、过程、方法。
25、软件生命周期中,能够准确确定软件系统必须做什么和必须具备哪些功能的阶段是:
需求分析。
26、数据流图只含有数据流,不含有控制流。
数据流图用于抽象描述一个软件的逻辑模型。
27、数据流的类型有两种:
事务型和变换型。
在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流叫做事务型数据流。
28、程序流程图中的箭头代表的是:
控制流。
29、在结构化方法中,软件功能分解属于总体设计阶段。
30、内聚型中内聚性最强的是:
功能内聚。
31、检查软件产品是否符合需求定义的过程是:
确认测试。
32、软件危机:
泛指在计算机软件的开发和维护过程中遇到的一系列严重的问题。
33、Jackson方法是一种面向数据结构的结构化方法。
34、软件开发环境是全面支持软件开发全过程的软件开发工具集合。
35、软件需求是指用户对目标软件系统在功能、行为、性能设计约束等方面的期望。
36、为每一个模块确定实现算法和局部数据结构的是详细设计阶段的任务。
数据库设计基础
1、关系运算是考试的重点,考的多的是并和笛卡尔积。
不改变属性但减少元组个数的是并。
投影也是比较喜欢考的,一般的意思是从4、5个列中选出2、3个。
笛卡尔积则是会增加元组的个数。
2、E-R图中,矩形、菱形、椭圆形等代表的意思是考试的重点。
3、数据库系统中,数据的物理结构不一定要和逻辑结构一致。
4、数据库技术的根本目标是解决数据的共享问题。
5、数据库系统中,用户所见的数据模式为:
外模式。
6、数据库设计的四个阶段是:
需求分析、概念设计、逻辑设计和物理设计。
7、两个实体间的关系是:
一对一,多对多,一对多等,这种题目根据具体的题目分析。
(常考题目)
8、数据库DB,数据库系统DBS,数据库管理系统DBMS之间的关系:
DBS包含DB和DBMS。
9、数据库系统的核心:
数据库管理系统。
10、数据独立性:
是指数据与程序的互不依赖性。
他包括数据的物理独立性和逻辑独立性。
物理独立性是数据的物理结构(包括存储结构、存取方式)的改变,不影响数据库的逻辑结构。
11、数据的逻辑独立性是指数据库总体逻辑结构的改变,不需要相应修改应用程序。
12、用树形结构表示实体之间联系的模型是:
层次模型。
13、数据库系统中修改数据模式、增加新的数据类型、改变数据间的联系等,不需要相应修改应用程序这一特点是逻辑独立性。
14、不涉及具体的硬件环境和平台,也与具体的软件环境无关的模式是:
概念模型。
15、用户数据是建立在外模式的框架上的。
16、给出数据的全局逻辑结构到数据的物理存储结构间的对应关系的映射是:
概念模式到内模式的映射。
17、网状模型:
不加任何的限制的无向图。
18、不准关系应用不存在的元组的约束是:
参照完整性约束。
19、数据库设计包括两个方面的设计内容,它们是:
概念设计和逻辑设计。
20、数据库设计中的主流方法是:
面向数据的设计方法。
21、数据库概念设计过程分三个步骤进行:
首先选择局部应用,在局部视图设计,最后进行视图集成。
22、数据库系统中,实现各种数据管理功能的核心软件称为数据库管理系统。
23、一个关系表的行称为元组。
24、在关系模型中,数据看成是二维表,每一个二维表称为一个关系。
25、数据管理技术经历了三个阶段:
人工管理、文件系统和数据库系统。
26、数据库的基本特点:
数据的集成性、数据的高共享性和低冗余性(常考)、数据的独立性(常考)、数据统一管理和控制。
27、三级模式中反映用户对数据的要求的模式是:
数据模型。
28、物理数据模型是数据特征的抽象,他从抽象的层次上描述了系统的静态特征、动态行为和约束条件。
29、E-R图由实体、联系、属性三个部分组成。
30、二维表中能够唯一标识元组的最小属性集称为该表的码。
31、要求关系的主键中属性不能为空的约束是:
实体完整性约束。
32、数据库的设计方法有两种,一种是面向数据的设计方法,一种是面向过程的设计方法
数据结构与算法
算法的基本特性:
可行性,确定性,有穷性,拥有足够的情报。
算法是指解题方案准确而完善的描述。
算法复杂度包括时间复杂度和空间复杂度。
时间复杂度:
执行算法所需要的计算机工作量。
空间复杂度:
执行算法所要的内存空间。
数据结构分为逻辑结构和存储结构。
常用的存储结构有顺序结构、链式存储结构、索引存储结构、
数据逻辑结构:
反映数据元素之间逻辑关系的数据结构。
数据存储结构:
数据的逻辑结构在计算机存储空间中的存放形式。
队:
FIFO,一头进,另一头出来。
循环队列,一般题型:
概念、计算队列中还有几个元素(尾指针减去头指针)。
栈:
FILO,只能从一个头进,出。
一般题型:
概念、问ABCD四个选项中不能出栈的次序。
线性表的基本概念。
记住线性表顶多有一个头节点和一个后继节点。
所以栈、队列、单向链表都是线性表,树、双向链表不是线性表。
树;叶子节点最多的个数:
2n-1个节点。
一共的节点数目2n-1,节点为2的数目为节点为1的数目减一。
也就是n2=n0-1
满二叉树:
_____________________。
完全二叉树:
_____________________。
二叉树中,度为0的数目比度为2的数目多一个。
n0=n2+1
二叉树的前序遍历、中序遍历、后序遍历是考试重点。
顺序查找:
长度为n的线性表,平均要进行n/2,最坏要进行n次比较。
(常考)
二分查找:
对于长度为n的线性表,在最坏情况进行 log2n 次。
要背的话:
算法的时间复杂度和空间复杂度没有必然的联系。
一个数据结构的逻辑结构根据需要可以有多个存储结构。
存储结构的不同,会造成处理的效率不同。
栈具有记忆性。
如果要存的数据是12345,栈可以不顺序存储。
我们存放数据的时候,存储空间不一定是连续的,并且各个元素的存储顺序可以是任意的。
如:
链表。
在线性链表中查找一个元素比在顺序表中查找一个元素要快,
冒泡排序、选择排序、交换排序、堆排序中平均排序次数最快的是 堆排序。
能够用二分查找的是顺序存储的有序线性表。
逻辑结构
存储结构
线性表
链表,顺序存放
栈
链表,顺序存放
队列
链表,顺序存放
树
链式存放
二叉树
链式存放
1、程序设计方法和技术的发展经过了结构化程序设计和面向对象设计两个阶段。
2、当今程序设计的风格是“清晰第一,效率第二”。
3、程序可以没有输入,但是一定要有输出。
4、结构化程序设计遵循:
自顶向下,逐步求精,模块化,限制使用goto语句(常考)。
5、面向对象的基本特点:
标志唯一性,分类性,多态性,封装性,模块独立性。
尤其重要的是多态性和封装性。
没有类比性。
6、多态性:
统一操作可以是不同对象的行为。
同样的消息被不同的对象接收时可导致不同的动作的现象。
7、封装性:
从外面看不到对象的内部,只能看到对象的外部特性。
8、类:
是具有共同属性、共同方法的对象的集合。
描述了属于该对象类型的所有对象的性质,而一个对象则是对应类的一个实例。
(常考)
9、消息:
是指对象间的相互合作的协作机制,是一个对象与另一个对象之间的传递的消息。
10、继承:
是指使用已有的类定义作为基础建立新类的定义技术。
继承分为单继承和多继承。
单继承只有一个父亲,多继承可以有多个父亲。
11、面向对象中,类的实例叫做对象。
12、源程序文档化要求程序应该加上注释。
注释一般为序言性注释和功能性注释。
13、面向对象方法和技术是以对象为核心。
软件工程基础
1、软件工程的核心思想是把软件当作一个工程产品来处理。
2、软件开发的三个阶段以及每个阶段的任务:
这个表请大家抽时间背下。
软件开发的三个阶段,每个阶段的工程。
3、软件开发方法包括分析方法,设计方法,程序设计方法。
4、结构化方法包括结构化分析方法,结构化设计方法,结构化编程方法。
5、结构化分析方法在软件需求分析阶段的应用。
6、结构化分析常用的工具中最重要的工具是数据流图。
○表示加工,→表示数据流,—数据源,□表示源。
7、软件规格说明书(SRS)是需求分析阶段的最后结果,是软件开发文档重要的文档之一。
8、软件设计要求低耦合性和高内聚性是考试的重点,要知道什么是耦合,什么是内聚。
9、软件测试和程序调试的区别。
软件测试的过程涵盖了整个软件生命周期。
目的是为了发现错误而执行程序的过程。
10、从是否要执行被测试软件的角度,软件测试分为静态测试和动态测试。
11、从功能上划分,软件测试分为白盒测试和黑盒测试。
12、白盒测试是检查内部成分,方法有:
逻辑覆盖测试方法,基本路径测试。
13、黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。
方法有:
等价类划分法,边界值划分法,错误推测法。
14、软件测试的四个步骤。
自己默写一遍。
15、程序调试的任务:
诊断和改正程序中错误,它和软件测试不同,调试主要在开发阶段。
16、软件调试方法:
强制排错法,回朔法,原因排除法。
17、软件维护不属于软件生命周期开发阶段的任务。
18、软件进行了程序调试后还要进行测试。
19、软件工程的主要思想是:
强调在软件开发过程中需要应用工程化的原则。
20、软件设计中,不属于过程设计工具的是:
DFD图。
21、结构化分析常见的工具:
DFD图,DD(数据字典),判定树,判定表。
22、程序和软件是不同的,软件是程序、数据与相关文档的集合。
23、软件的开发、运行对计算机系统具有依赖性。
24、软件工程的三要素:
工具、过程、方法。
25、软件生命周期中,能够准确确定软件系统必须做什么和必须具备哪些功能的阶段是:
需求分析。
26、数据流图只含有数据流,不含有控制流。
数据流图用于抽象描述一个软件的逻辑模型。
27、数据流的类型有两种:
事务型和变换型。
在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流叫做事务型数据流。
28、程序流程图中的箭头代表的是:
控制流。
29、在结构化方法中,软件功能分解属于总体设计阶段。
30、内聚型中内聚性最强的是:
功能内聚。
31、检查软件产品是否符合需求定义的过程是:
确认测试。
32、软件危机:
泛指在计算机软件的开发和维护过程中遇到的一系列严重的问题。
33、Jackson方法是一种面向数据结构的结构化方法。
34、软件开发环境是全面支持软件开发全过程的软件开发工具集合。
35、软件需求是指用户对目标软件系统在功能、行为、性能设计约束等方面的期望。
36、为每一个模块确定实现算法和局部数据结构的是详细设计阶段的任务。
(1)算法一般都可以用哪几种控制结构组合而成______。
(D)
A.循环、分支、递归
B.顺序、循环、嵌套
C.循环、递归、选择
D.顺序、选择、循环
(2)数据的存储结构是指______。
(B)
A.数据所占的存储空间量
B.数据的逻辑结构在计算机中的表示
C.数据在计算机中的顺序存储方式
D.存储在外存中的数据
(3)在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______。
(D)
D.消息
A.调用语句
B.命令
C.口令
(4)检查软件产品是否符合需求定义的过程称为______。
(A)
A.确认测试
B.集成测试
C.验证测试
D.验收测试
(5)下列工具中属于需求分析常用工具的是______。
(D)
A.PAD
B.PFD
C.N-S
D.DFD
(6)下面不属于软件设计原则的是______。
(C)
A.抽象
B.模块化
C.自底向上
D.信息隐蔽
(7)索引属于______。
(B)
A.模式
B.内模式
C.外模式
D.概念模式
(8)在关系数据库中,用来表示实体之间联系的是______。
(D)
A.树结构
B.网结构
C.线性表
D.二维表
(9)将E-R图转换到关系模式时,实体与联系都可以表示成______。
(B)
A.属性
B.关系
C.键
D.域
(1)在下列选项中,哪个不是一个算法一般应该具有的基本特征______。
(C)
A.确定性
B.可行性
C.无穷性
D.拥有足够的情报
(2)希尔排序法属于哪一种类型的排序法______。
(B)
A.交换类排序法
B.插入类排序法
C.选择类排序法
D.建堆排序法
(3)下列关于队列的叙述中正确的是______。
(C)
A.在队列中只能插入数据
B.在队列中只能删除数据
C.队列是先进先出的线性表
D.队列是先进后出的线性表
(4)对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。
(B)
A.N+1
B.N
C.(N+1)/2
D.N/2
(5)信息隐蔽的概念与下述哪一种概念直接相关______。
(B)
A.软件结构定义
B.模块独立性
C.模块类型划分
D.模拟耦合度
(6)面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。
(C)
A.模拟现实世界中不同事物之间的联系
B.强调模拟现实世界中的算法而不强调概念
C.使用现实世界的概念抽象地思考问题从而自然地解决问题
D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考
(7)在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。
(C)
A.详细设计
B.需求分析
C.总体设计
D.编程调试
(8)软件调试的目的是______。
(B)
A.发现错误
B.改正错误
C.改善软件的性能
D.挖掘软件的潜能
(9)按条件f对关系R进行选择,其关系代数表达式为______。
(C)
A.R|X|R
B.R|X|R
C.бf(R)
D.∏f(R)
(10)数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是______。
(D)
A.自顶向下
B.由底向上
C.由内向外
D.由整体到局部