文档视界 最新最全的文档下载
当前位置:文档视界 › 2012最新二级公共基础知识二级考试必备大全(经典珍藏版)

2012最新二级公共基础知识二级考试必备大全(经典珍藏版)

2012最新二级公共基础知识二级考试必备大全(经典珍藏版)
2012最新二级公共基础知识二级考试必备大全(经典珍藏版)

数据结构与算法

一、基本概念:

数据(Data):信息的载体,能够被计算机识别、存储和加工处理的物理符号。包括文本类型的数据(如:字母、数字、汉字)和多媒体类型的数据(如:声音、动画、图像)。

数据元素(Data Element):是数据的基本单位,有时也称为元素、结点、顶点、记录,可以有若干个数据项(字段、域、属性)组成。

数据结构(Data Structure):指的是数据之间的相互关系,即数据的组织形式。其包括三部分:

1、逻辑结构:数据元素之间的逻辑关系。

2、存储结构:数据元素及其关系在计算机存储器内的表示。

3、数据的运算(算法):即对数据施加的操作。

数据的逻辑结构有两大类:

1、线性结构:

特征:若结构是非空集,则有且仅有一个开始结点和一个终端结点,并且所有结点最多只有一个直接前趋和一个直接后继。

例:一维数组、链表、栈、队列、串

2、非线性结构:

特征:一个结点可能有多个直接前趋和直接后继。

例:多维数组、广义表、树、图

数据的存储结构有以下基本存储方法:

1、顺序存储方法:

该方法是将逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,一般通过数组来实现的。

2、链接存储方法:

该方法不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。通过指针类型来实现的。

3、索引存储方法:

该方法通常是在存储结点信息的同时,还建立附加的索引表,索引表中的每一项称为索引项,索引项的一般形式是:关键字,地址。

4、散列存储方法:

该方法的基本思想是根据结点的关键字直接计算出该结点的存储地址,通过散列函数实现。例:除余法散列函数、相乘取整法散列函数

算法的基本特征:

1、可行性(Effectiveness):针对实际问题而设计的算法,执行后能够得到满意的结果。

2、确定性(Definiteness):算法中的每一个步骤都必须有明确的定义,不允许出现歧义性。

3、有穷性(Finiteness):算法必须在有限时间内做完,即必须在执行有限个步骤之后终止。

4、拥有足够的情报

时间复杂度:该算法执行的时间耗费,它是该算法所求解问题规模n的函数。

空间复杂度:该算法执行时所耗费的存储空间,它也是问题规模n的函数。

二、线性表:

线性表(Linear List):是由n(n>=0)个数据元素(结点)a1,a2,a3,······,a n组成的有限序列。

对于非空的线性表,有且仅有一个开始结点a1,它没有直接前趋;有且仅有一个终端结点a n,它没有直接后继;其余的结点有且仅有一个直接前趋结点和一个直接后继结点。 线性表的存储结构:

1、顺序存储(Sequential List):将线性表的结点按逻辑次序依次存放在一组地址连续的存储单元里,用这种方法存储的线性表称为顺序表。

2、链式存储(Linked List):逻辑上相邻的结点,物理上也相邻,存储单元可以是连续的,也可以是不连续的,在存储每个结点值的同时,还存储指向其后继结点的地址,用这种方法存储的线性表称为链表。

常见的运算有:

表的初始化、求表的长度、取表中的第i个结点、查找结点、插入新的结点、删除结点。

顺序表和链表的比较:

1、基于空间的考虑:

A、顺序表的存储空间是静态分配的,而链表的存储空间是动态分配的。

B、顺序表占的存储空间必须是连续的,而链表占的存储空间可以是连续的,也可是不连续的

C、顺序表存储密度为1,而链表中的每个结点,除了数据域外,还要额外的设置指针域,存储密度小于1

2、基于时间的考虑:

A、在链表中的任何位置上进行插入和删除,只需要修改指针,而顺序表中平均将要移动近一半的结点。

B、顺序表是随机存取结构,它的存取时间为O(1),而链表需从头结点顺着链扫描链表。

总之,当线性表的长度变化不大,易于事先确定其大小时,为了节约存储空间,宜采用顺序表作为存储结构;当线性表的长度变化较大,难以估计其存储规模时,以采用链表作为存储结构为好。若线性表的操作主要是进行查找,很少做插入和删除操作时,采用顺序表做存储结构为宜;对于频繁进行插入和删除的线性表,宜采用链表做存储结构。

例:关于线性表的描述中,错误的是()

A、线性表是线性结构

B、线性表的顺序存储结构,必须占用一片连续的存储单元

C、线性表是单链表

D、线性表的链式存储结构,不必占用一片连续的存储单元

用数组表示线性表的优点是()

A、便于插入和删除操作

B、便于随机存取

C、可以动态地分配存储空间

D、不需要占用一片连续的存储空间

三、栈:

栈(Stack):是限制仅在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶(Top),另一端称为栈底(Bottom)。当表中没有元素时称为空栈。是一种后进

先出的线性表,又称为LIFO表。

栈的基本运算有:

栈的初始化、判栈空、判栈满、进栈、出栈等

栈的存储:

顺序存储、链式存储

例:若进栈的输入序列是A、B、C、D、E,并且在它们进栈的过程中可以进行出栈操作,则不可能出现的出栈序列是()

A、EDCBA

B、DECBA

C、DCEAB

D、ABCDE

四、队列:

队列(Queue):也是一种运算受限的线性表,它只允许在表的一端进行插入,而在另一端进行删除。允许删除的一段称为队头(Front),允许插入的一段称为队尾(Rear)。(类似于生活中的购物排队)。是一种先进先出的线性表,又称为FIFO表。

队列的基本运算:

队列的初始化、判队空、判队满、入队、出队

队列的存储实现:

顺序存储、链式存储

例:一个队列的入队序列是1,2,3,4,则队列的输出序列是()

A、4,3,2,1

B、1,2,3,4

C、1,4,3,2

D、3,2,4,1

五、串:

串(String):是零个或多个字符组成的有限序列。

串中所包含的字符个数称为该串的长度。

串中任意个连续字符组成的子序列称为该串的子串,包含子串的串相应地称为主串注:空串是任意串的子串,任意串是其自身的子串

串有串常量、串变量之分:

1、串常量在程序中只能被引用但不能改变其值,即只能读不能写。

2、串变量其值是可以改变的。

串的基本运算:

求串长、串复制、串联接、串比较、字符定位、

六、树(非线性结构):

树(Tree):是n(n>=0)个结点的有限集T,T(n=0)为空时称为空树,否则它满足如下两个条件:

1、有且仅有一个特定的称为根(Root)的结点

2、其余的结点可分为m(m>=0)个互不相交的子集T1,T2,…….,Tm,其中每个子集

本身又是一棵树,并称其为根的子树(Subtree)。

在树的树形图表示中,结点通常是用圆圈表示的,结点的名字一般是写在圆圈旁边,有时亦可写在圆圈内。

度(Degree):一个结点拥有的子树数称为该结点的度。一棵树的度是指该树中结点的最大度数。

叶子(Leaf):度为零的结点称为叶子或终端结点

分支结点(Node):度不为零的结点称为分支结点。

树中某个结点的子树之根称为该结点的孩子(Child)结点或子结点,相应的该结点称为孩子结点的双亲(Parents)结点或父结点。

同一个双亲的孩子称为兄弟结点(Sibling)

结点的层数(Level)是从根起算,设根的层数为1,其余结点的层数等于其双亲结点的层数加1.

树中结点的最大层数称为树的高度(Height)或深度(Depth).

森林(Forest):是m(m>=0)棵互不相交的树的集合。删去一棵树的根,就得到一个森林,反之,加上一个结点作树根,森林就变为一棵树。

二叉树(Binary Tree):是n(n>=0)个结点的有限集,它或者是空集(n=0),或者由一个根结点及两棵互不相交的、分别称作这个根的左子树和右子树的二叉树组成。

二叉树中,每个结点最多只能有两棵子树,并且有左右之分。

二叉树的五种基本形态:

例:具有3个结点的二叉树有几种形态。

满二叉树(Full Binary Tree):一棵深度为k且有2k-1个结点的二叉树称为满二叉树

完全二叉树(Complete Binary Tree):若一棵二叉树至多只有最下面的两层上结点的度数可以小于2,并且最下一层上的结点都集中在该层最左边的若干位置上,则此二叉树称为完全二叉树。

二叉树的性质:

性质1:二叉树第i层上的结点数目最多为2i-1(i>=1)

性质2:深度为k的二叉树至多有2k-1个结点(k>=1)

性质3:在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1 性质4:具有n个结点的完全二叉树的深度为[lgn]+1(取下整) 或[lg(n+1)](取上整)。

例:一棵二叉树的结点数为18个,求它的最小高度

已知度为2的结点数为15个,求叶子结点数

二叉树的遍历:

遍历(Traversal):是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。

前序遍历:(又称为先序遍历、先根遍历)

若二叉树为空,则执行空操作。否则:

1、访问根结点;

2、前序遍历左子树;

3、前序遍历右子树。

中序遍历:(又称为中根遍历)

若二叉树为空,则执行空操作。否则:

1、中序遍历左子树;

2、访问根结点;

3、中序遍历右子树。

后序遍历:(又称为后根遍历)

若二叉树为空,则执行空操作。否则:

1、后序遍历左子树;

2、后序遍历右子树;

3、访问根结点。

例:已知一棵二叉树的中序遍历序列是:FDGBACHE,其后序遍历序列是:FGDBHECA 求其前序遍历序列。

一棵二叉树的前序遍历序列为ABDGCFK,中序遍历序列为DGBAFCK,则结点的后序遍历序列是()

A、ACFKDBG

B、GDBFKCA

C、KCFAGDB

D、ABCDFKG

七、排序(Sort):

所谓排序,就是指整理文件中的记录,使之按关键字递增(或递减)次序排列起来。 冒泡排序(Bubble Sorting):

通过对待排序序列从后向前或从前向后(从下标较大的元素开始),依次比较相邻元素的排序码,若发现逆序则交换,使排序码较大的元素逐渐从前部移向后部或较小的元素逐渐从后部移向前部(从下标较大的单元移向下标较小的单元)。

直接选择排序(Selection Sorting):

扫描整个线性表,从中选出最小的元素,将它交换到表的最前面;然后对剩下的子表采用同样的方法,直到子表空为止。

直接插入排序(Insertion Sorting):

每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。

快速排序(Quick Sorting):任取待排序序列中的某个元素作为基准(一般取第一个元素),通过一趟排序,将待排元素分为左右两个子序列,左子序列元素的排序码均小于或等于基准元素的排序码,右子序列的排序码则大于基准元素的排序码,然后分别对两个子序列继续进行排序,直至整个序列有序。

各种内部排序方法的比较

排序方

时间复杂度

空间复杂度最好时间平均时间最坏时间

直接插

O(n) O(n2) O(n2) O(1) 直接选

O(n2) O(n2) O(n2) O(1) 冒泡O(n) O(n2) O(n2) O(1)

快速O(nlgn) O(nlgn) O(n2) O(lgn)

堆O(nlgn) O(nlgn) O(nlgn) O(1)

例:对一个具有n个元素的序列进行冒泡排序,在最坏情况下,要进行交换的次数是()

A、n(n+1)/2

B、n(n-1)/2

C、n*n/2

D、n(n+1)/2-1

对n 个元素进行冒泡排序过程中,最好情况下的时间复杂性为( ) A 、O(1) B 、O(log 2n) C 、O(n 2

) D 、O(n)

对n 个元素进行快速排序的过程中,平均情况下的时间复杂性为( )

A 、O(1)

B 、O(lgn)

C 、O(n 2

) D 、O(nlgn)

八、查找(Searching):

所谓查找是指给定一个值K ,在含有n 个结点的表中找出关键字等于给定值K 的结点。

若找到,则查找成功,返回该结点的信息或该结点在表中的位置;否则查找失败,返回

相关的提示信息。

顺序查找(Sequential Search)的基本思想是:从表的一端开始,顺序扫描线性表,依次将

扫描到的结点关键字和给定值K 相比较,若当前扫描到的结点关键字与K 相等,则查找成功;若扫描结束后,仍未找到关键字等于K 的结点,则查找失败。顺序查找即适用顺序存储结构,又适用链式存储结构。 查找成功的平均查找长度为:(n 为结点数目) (1+2+3+4+···+n) / n = (n+1)/2

二分查找(Binary Search)又称折半查找,它是一种效率较高的查找方法,二分查找要求

线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。另外,二分查找只适用顺序存储结构,在链式存储结构上无法实现二分查找。 查找成功时的平均查找长度:(n 为结点数目)

当n 很大时,可用近似公式: lg(n+1)-1 表示

软件工程基础

一、基本概念:

软件(Software):软件是一种产品(逻辑产品),指的是计算机中程序及其说明程序的各种

文档。“程序”是计算任务的处理对象和处理规则的描述;“文档”是有关计算机程序功

能、设计、编制、使用的文字或图形资料。 软件危机的表现:

1、软件需求的增长得不到满足

2、软件开发成本和进度无法控制

3、软件质量难以保证

4、软件不可维护或维护程度非常低

5、软件成本不断提高

6、软件开发生产效率的提高赶不上硬件的发展和应用需求的增长

1

)1n lg(n

1n -++

软件工程(Software Engineering):用工程化的方法、科学知识和技术原理来定义、开发、维护软件的一门学科。

软件工程的目标:

付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。 软件工程研究的主要内容是软件开发技术和软件开发管理两个方面。

软件生存周期:是指一个软件从提出开发要求开始直到该软件报废(停止运行)为止的整个时期。

软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。

常用的模型有:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型

瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。主要包括问题定义及可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护几个阶段。

例:下列描述中正确的是()

A、程序就是软件

B、软件开发不受计算机系统的限制

C、软件既是逻辑实体,又是物理实体

D、软件是程序、数据与相关文档的集合

二、软件可行性研究与项目开发计划:

软件可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。

可行性研究的任务:

A、技术可行性

B、经济可行性

C、社会可行性(法律可行性)

可行性研究的具体步骤:

1、确定项目规模和目标

2、研究正在运行的系统

3、建立新系统的高层逻辑模型

4、导出和评价各种方案

5、推荐可行的方案

6、编写可行性研究报告

三、软件需求分析:

需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

需求分析的基本任务:

1、问题识别

A、功能需求

B、性能需求

C、环境需求

D、用户界面需求

2、分析与综合,导出软件的逻辑模型

3、编写文档(需求规格说明书)

需求分析的方法:

1、结构化分析(Structured Analysis):是面向数据流进行需求分析的方法。

SA方法利用图形等半形式化的描述方式表达需求,主要描述工具:

A、数据流图(DFD):是SA方法中用于表示系统逻辑模型的一种工具,以图形的方式描绘数据在系统中流动和处理的过程。

B、数据字典(DD):用以定义数据流图中的各个成分的具体含义,为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。

C、描述加工逻辑的结构化语言、判定表、判定树

2、IDEF方法(是ICAM Definition的缩写):

是一种用于进行复杂系统分析和设计的方法,是在结构化分析和设计技术的基础上提出来的。

3、面向对象分析方法(OOP):

将客观世界的事物抽象为对象,通过属性和方法描述对象的状态和行为,具有继承、封装和多态性等特征。

例:软件开发的结构化分析方法中,常用的描述软件功能需求的工具是()

A、业务流程图、处理说明

B、软件流程图、模块说明

C、数据流程图、数据字典

D、系统流程图、程序编码

四、软件概要设计:

将软件需求转换为软件表示的过程。

软件概要设计的基本任务:

1、设计软件系统结构

2、数据结构及数据库设计(概要设计、逻辑设计、物理设计):

3、编写概要设计文档:

4、评审:

软件设计的方法:

模块化:模块在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,如高级语言中的过程、函数、子程序等。

模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。其度量标准是:耦合性和内聚性

耦合性也称块间联系,指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

内聚性也称块内联系,指模块功能强度的度量,即一个模块内部各个元素(语句之间、程序段之间)彼此结合的紧密程度的度量。

将软件系统划分模块时,尽量做到高内聚低耦合。

例:为了使模块尽可能独立,要求()

A、模块的内聚程序要尽量高,且各模块间的耦合程序要尽量强

B、模块的内聚程序要尽量高,且各模块间的耦合程序要尽量弱

C、模块的内聚程序要尽量低,且各模块间的耦合程序要尽量弱

D、模块的内聚程序要尽量低,且各模块间的耦合程序要尽量强

五、软件详细设计:

主要确定每个模块具体执行过程

软件详细设计的基本任务:

1、为每个模块进行详细的算法设计:

2、为模块内的数据结构进行设计:

3、对数据库进行物理设计:

4、输入、输出格式设计

5、编写详细设计说明书:

6、评审:

详细设计常用三种工具:

图形(流程图、盒图、问题分析图PAD)、

表格(判定表)、

语言(过程设计语言,又称为伪码)

六、软件编码:

主要是将详细设计得到的处理过程描述转换为基于某种计算机语言的程序

常用的计算机语言:

Pascal 、C、C++、Java等

七、软件测试:

软件测试代表了需求分析、设计、编码的最终复审。软件测试贯穿于软件开发的全过程。 软件测试的目的:

1、软件测试是为了尽可能多地发现程序中的错误而执行程序的过程。

2、一个好的测试用例能够发现至今尚未发现的错误。

3、一个成功的测试是发现了至今尚未发现的错误的测试。

软件测试的原则:

1、测试用例应由输入数据和预期的输出数据两部分组成。

2、测试用例不仅选用合理的输入数据,还要选择不合理的输入数据

3、除了检查程序是否做了它应该做的事

4、应制定测试计划并严格执行,排除随意性

5、长期保留测试用例

6、对发现错误较多的程序段,应进行更深入的测试

7、程序员避免测试自己的程序

软件测试方法:

1、静态测试:

是指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。

2、动态测试:是指通过运行程序发现错误

A、黑盒测试法(功能测试):

主要对软件的接口进行测试,依据需求规格说明书,检查程序是否满足功能要求。常用的技术是等价类划分法、边界值分析法、错误推测法、因果图法、综合策略法

B、白盒测试法(结构测试):

主要测试程序的内部结构和处理过程。常用的技术是语句覆盖、条件覆盖、路径覆盖、判定覆盖等

软件测试的实施:

1、单元测试:

单元测试是对软件设计的最小单位——模块(程序单元)进行正确性检验测试,主要针对模块的以下五个基本特征进行测试:

A、模块接口

B、局部数据结构:

C、重要的执行路径:

D、错误处理测试:

E、边界条件:

2、集成测试:

集成测试是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试,故也称组装测试或联合测试。

主要方法有两种:

非渐增式测试:首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起进行测试。

渐增式测试:逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试,每加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕。

3、确认测试:

确认测试又称有效性测试,它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合,因而需求规格说明是确认测试的基础。

4、系统测试:

系统测试是通过测试确认的软件作为整个计算机系统的一个元素,与计算机硬件、外设、支撑软件、数据和人员等其他系统元素组合在一起,在实际运行环境下对计算机系统进行一系列的集成测试和确认测试。

程序调试:

调试是在进行了成功的测试之后才开始的工作,目的是确定错误的原因和位置,并改正错误,又称为纠错。

例:软件测试的目的是()

A、证明软件的正确性

B、找出软件系统中存在的所有错误

C、尽可能多地发现软件系统中的错误

D、证明软件系统中存在错误

在软件测试方法中,黑箱测试法和白箱测试法是常用的方法,其中黑箱测试法主要是用于测试()

A、结构合理性

B、软件外部功能

C、程序正确性

D、程序内部逻辑

八、软件维护:

软件投入使用后进行的阶段,是软件生存周期中时间最长的一个阶段,所花费的精力和

费用也是最多的一个阶段。主要是因为:隐含的错误要修改;新增的功能要加入进去;环境的变化对程序进行变动等。

软件维护的内容有四类:

1、校正性维护:

为了识别和纠正错误,修改软件性能上的缺陷,其占整个维护工作的21%

2、适应性维护:

为了使应用软件适应环境(硬件、系统软件、数据)的变化而修改软件的过程称为适应性维护,其占整个维护工作的25%

3、完善性维护:

增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护,其占整个维护工作的50%

4、预防性维护:

为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护,其占整个维护工作的4%

例:软件维护是指()

A、维护软件正常运行

B、软件的配置更新

C、对软件的改进、适应和完善

D、软件开发期的一个阶段

软件生命周期中所花费用最多的阶段是()

A、详细设计

B、软件编码

C、软件测试

D、软件维护

数据库原理基础

一、基本概念:

数据处理:是指将数据转换成信息的过程

数据管理是指对数据的组织、分类、编码、存储、检索和维护提供操作手段其经历了以下阶段:

1、人工管理

2、文件系统

3、数据库系统

4、分布式数据库系统阶段

5、面向对象的数据库系统阶段

数据库(Database):是指存储在计算机存储设备上的结构化的相关数据的集合,不仅包括数据本身,还包括事物之间的联系。

数据库应用系统(DBAS):是指系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。

数据库管理系统(DBMS):对数据库的建立、使用和维护进行管理和配置的软件系统。是数据库系统的核心

数据库系统(DBS):由硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户组成。

数据库系统的特点:

实现数据共享、减少数据冗余

采用特定的数据模型

具有较高的数据独立性

统一的数据控制功能

实体:客观存在并且可以相互区别的事物称为实体。

实体的属性:实体所具有的物性称为实体的属性。

实体集:同类型的实体的集合称为实体集。

实体型:属性的集合表示一种实体类型,称为实体型。

例:数据库管理系统能实现对数据库中数据的查询、插入、修改和删除,这类功能称为()

A、数据定义功能

B、数据管理功能

C、数据操纵功能

D、数据控制功能

联系:实体之间的对应关系。

联系的类型:

1、一对一联系:表现为主表中的每一条记录只与相关表中的一条记录相关联。

例如:班级与班长,学校与校长

2、一对多联系:表现为主表中的每一条记录与相关表中的多条记录相关联。

例如:班级与学生,部门与职工

3、多对多联系:表现为一个表中的多个记录在相关表中同样有多个记录相关联。

例如:学生与课程,工程项目与零件

数据模型:不仅反映事物本身,还用来表示实体及实体之间联系的方法。

1、层次模型:用树形结构表示实体及其之间联系的模型称为层次模型。

2、网状模型:用网状结构表示实体及其之间联系的模型称为网状模型。

3、关系模型:用二维表结构来表示实体及实体之间的联系的模型称为关系模型。

一个二维表称为一个关系,在VFP称为数据表。一个关系不仅表示实体本身还表示实体之间的联系。

例:用树形结构表示实体之间联系的模型是()

A、关系模型

B、网状模型

C、层次模型

D、以上三个都是

二、关系数据库:

元组(Record):在一个关系中,水平方向的行称为元组。在VFP中称为记录

属性(Field):一个二维表中垂直方向的列称为属性。在VFP中称为字段名

域(Domain):属性的取值范围。根据数据类型和宽度来决定的。

关键字(Primary Key):其值能够惟一标识一个元组的属性或属性的组合。

注:关键字不能出现空值或重复值

外部关键字(Foreign Key):如果表中的一个字段不是本表的主关键字或侯选关键字,而是另外一个表的主关键字或侯选关键字,这个字段在本表中称为外部关键字。

关系性质:

二维表中元组的个数是有限的——元组个数有限性

二维表中元组均不相同——元组的惟一性

二维表中元组的次序可以任意交换——元组的次序无关性

二维表中元组的分量是不可分割的基本数据项——元组分量的原子性

二维表中属性名各不相同——属性名惟一性

二维表中属性与次序无关,可任意交换——属性的次序无关性

例:关系数据模型中表示实体和实体间的联系的结构是()

A、树型

B、网状

C、二维表

D、对象

三、关系运算:

并(Union):是由两个关系的元组组成的集合。(两个关系必须具有相同的关系模式) 差(Difference):若有两个相同结构的关系R和S,R差S的结果属于R但不属于S的元组组成的集合。

交(Intersection):若有两个相同的结构关系R和S,交的结果为两个关系共同的元组。 选择(Selection):从关系中找出满足给定条件的元组的操作称为选择。

投影(Projection):从关系模式中指定若干个属性组成新的关系称为投影。

联接(Join):是关系的横向结合,关系模式改变了,是多个关系的关系模式的组合。

联接的结果是多个关系中满足条件的元组。———————————————————————————————————————

2011全国计算机等级考试二级公共基础知识教程

目录 二级公共基础知识考纲 (1) 第一章数据结构与算法 (2) 第二章程序设计基础 (19) 第三章软件工程基础 (23) 第四章数据库设计基础 (32) 全国计算机等级考试二级公共基础知识考纲 考试内容 一、基本数据结构与算法 1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。 2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。 3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。 4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。 5.线性单链表、双向链表与循环链表的结构及其基本运算。 6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。 7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。 二、程序设计基础 1.程序设计方法与风格。 2.结构化程序设计。 3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。 三、软件工程基础 1.软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境。 2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。 3.结构化设计方法,总体设计与详细设计。 4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。 5.程序的调试,静态调试与动态调试。 四、数据库设计基础 1.数据库的基本概念:数据库,数据库管理系统,数据库系统。 2.数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。 3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。 4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。 考试方式 公共基础的考试方式为笔试,与C语言(V isualBASIC、V isual FoxPro、Java、Access、Visual C++)的笔试部分合为一张试卷。 公共基础部分占全卷的30分。公共基础知识有10道选择题和5道填空题。 第一章数据结构与算法 一、内容要点 (一)算法 1.算法的基本概念 算法是指解题方案的准确而完整的描述。即是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,没有二义性,同时该规则将在有限次运算后可终止。 1)算法的基本特征 (1)可行性 由于算法的设计是为了在某一个特定的计算工具上解决某一个实际的问题而设计的,因此,它总是受到计算工具的限制,使执行产生偏差。

计算机二级必备知识点

第一部分算法与数据结构(历年比例 41%) 1、算法◆问题处理方案的正确而完整的描述称为【算法】。算法分析的目的是,分析算法的效率以求改进。算法的基本特征是【可行性】、【确定性】、【有穷性】和拥有足够情报。 ◆算法的有穷性是指:算法程序的运行时间是有限的。 ◆算法的复杂度是衡量算法好坏的度量,分为【时间复杂度】和【空间复杂度】。 ★★时间复杂度是指执行算法所需要的【计算工作量】;算法的空间复杂度是指算法执行过程中所需的【存储空间】。 ◆算法时间复杂度或空间复杂度中的一项的值,没有办法推出另一项的值。 2、数据结构◆数据结构分为【逻辑结构】和【存储结构】。线性结构和非线性结构属于逻辑结构;顺序、链式、索引属于存储结构(物理结构)。循环队列属于【存储结构】。 ★数据的存储结构又称为物理结构,是数据的逻辑结构在计算机存储空间中的存放形式。 ◆一个逻辑结构可以有多种存储结构,且各种存储结构影响数据处理的效率。程序执行的效率与数据的存储结构密切相关。 ◆数据结构分为线性结构和非线性结构,带链的队列属于【线性结构】。 ◆线性表的存储结构主要分为顺序存储结构和链式存储结构。顺序存储结构的存储一定是连续的,链式存储的存储空间不一定是连续的。 ◆有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。

◆队列是一种特殊的线性表,循环队列按照【先进先出】原则组织数据。循环队列是队列的【顺序】存储结构。 ◆数据的独立性分为【物理独立】性和【逻辑独立性】。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序可以不用修改,称为【物理独立性】。 3、栈和队列★★栈是一种特殊的线性表,是只能在一端进行插入和删除的线性表,特点是FILO(FirstIn Last Out)。 ★★栈是【先进后出】的线性表;栈具有记忆作用;对栈的插入与删除操作中,不需要改变【栈底指针】。假定让元素1、2、3、A、B依次入栈,则出栈的顺序是:B、A、3、2、1。 ◆栈与队列都是线性结构,树是非线性结构。支持子程序调用的数据结构是【栈】。 ◆栈与队列的共同点是,都只允许在【端点处】插入和删除元素。 ◆栈只能顺序存储的描述是错误的。栈可以有【顺序和链式】两种存储方式。 ★★队列是允许在一段插入,在另一端进行删除的线性表,其特点是【先进先出】。 ◆循环队列中元素的个数是由队头指针和队尾指针共同决定。循环队列的头指针为front,尾指针为rear,容量为maxSize,则循环队列中元素的个数是【(rear-front+maxSize) mod maxSize】。

二级公共基础知识分类模拟题43

二级公共基础知识分类模拟题43 单项选择题 1、下列叙述中正确的是______。 A.所谓算法就是计算方法 B.程序可以作为算法的一种描述方法 C.算法设计只需考虑得到计算结果 D.算法设计可以忽略算法的运算时间 2、下列叙述中正确的是______。 A.算法的复杂度包括时间复杂度与空间复杂度 B.算法的复杂度是指算法控制结构的复杂程度 C.算法的复杂度是指算法程序中指令的数量 D.算法的复杂度是指算法所处理的数据量 3、下列叙述中正确的是______。 A.算法的时间复杂度与计算机的运行速度有关 B.算法的时间复杂度与运行算法时特定的输入有关 C.算法的时间复杂度与算法程序中的语句条数成正比 D.算法的时间复杂度与算法程序编制者的水平有关 4、下列叙述中正确的是______。 A.非线性结构可以为空 B.只有一个根结点和一个叶子结点的必定是线性结构 C.只有一个根结点的必定是线性结构或二叉树 D.没有根结点的一定是非线性结构 5、设数据结构B=(D,R),其中 D={a,b,c,d,e,f} R={(f,a),(d,b),(e,d),(c,e),(a,c)} 该数据结构为______。 A.线性结构 B.循环队列 C.循环链表 D.非线性结构 6、下列叙述中正确的是______。 A.矩阵是非线性结构 B.数组是长度固定的线性表 C.对线性表只能作插入与删除运算 D.线性表中各元素的数据类型可以不同 7、在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数______。 A.不同,但元素的存储顺序与逻辑顺序一致 B.不同,且其元素的存储顺序可以与逻辑顺序不一致 C.相同,元素的存储顺序与逻辑顺序一致 D.相同,但其元素的存储顺序可以与逻辑顺序不一致 8、下列叙述中正确的是______。 A.能采用顺序存储的必定是线性结构 B.所有的线性结构都可以采用顺序存储结构 C.具有两个以上指针的链表必定是非线性结构 D.循环队列是队列的链式存储结构 9、下列叙述中正确的是______。 A.在栈中,栈顶指针的动态变化决定栈中元素的个数

计算机二级C考试复习知识点汇总

2017年全国计算机二级C++考试复习知识点汇总 一、C++概述 (一)发展历史 1980年,BjarneStroustrup博士开始着手创建一种模拟语言,能够具有面向对象的程序设计特色。在当时,面向对象编程还是一个比较新的理念,Stroustrup博士并不是从头开始设计新语言,而是在C语言的基础上进行创建。这就是C++语言。 1985年,C++开始在外面慢慢流行。经过多年的发展,C++已经有了多个版本。为次,A NSI和ISO的联合委员会于1989年着手为C++制定标准。1994年2月,该委员会出版了第一份非正式草案,1998年正式推出了C++的国际标准。 (二)C和C++ C++是C的超集,也可以说C是C++的子集,因为C先出现。按常理说,C++编译器能够编译任何C程序,但是C和C++还是有一些小差别。 例如C++增加了C不具有的关键字。这些关键字能作为函数和变量的标识符在C程序中使用,尽管C++包含了所有的C,但显然没有任何C++编译器能编译这样的C程序。 C程序员可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写出来。而C++可以使用空参数列表。 C++中new和delete是对内存分配的运算符,取代了C中的malloc和free。 标准C++中的字符串类取代了C标准C函数库头文件中的字符数组处理函数。 C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。 C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。 二、关键字和变量 C++相对与C增加了一些关键字,如下: typenamebooldynamic_castmutablenamespace static_castusingcatchexplicitnew virtualoperatorfalseprivatetemplate volatileconstprotectedthiswchar_t const_castpublicthrowfriendtrue reinterpret_casttry bitorxor_eand_eqcomplor_eq not_eqbitand

全国计算机二级考试公共基础知识总结

全国计算机二级考试公共基础知识总结 第一章数据结构与算法 1.1 算法 算法:是指解题方案的准确而完整的描述。 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括:(1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。 算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。 指令系统:一个计算机系统能执行的所有指令的集合。 基本运算包括:算术运算、逻辑运算、关系运算、数据传输。 算法的控制结构:顺序结构、选择结构、循环结构。 算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。 算法复杂度:算法时间复杂度和算法空间复杂度。

算法时间复杂度是指执行算法所需要的计算工作量。 算法空间复杂度是指执行这个算法所需要的内存空间。 1.2 数据结构的基本基本概念 数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; (2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。 数据结构是指相互有关联的数据元素的集合。 数据的逻辑结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 数据的存储结构有顺序、链接、索引等。 线性结构条件: (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。 1.3 线性表及其顺序存储结构 线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。 在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由

计算机二级公共基础知识(全)

1.1 算法 考点1 算法的基本概念 计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。 算法(algorithm)是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,同时是明确的;此顺序将在有限的次数后终止。算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。 1算法的基本特征 (1)可行性(effectiveness):针对实际问题而设计的算法,执行后能够得到满意的结果。 (2)确定性(definiteness):算法中的每一个步骤都必须有明确的定义,不允许有模棱两可的解释和多义性。 (3)有穷性(finiteness):算法必需在有限时间内做完,即算法必需能在执行有限个步骤之后终止。 (4)拥有足够的情报:要使算法有效必需为算法提供足够的情报当算法拥有足够的情报时,此算法才最有效的;而当提供的情报不够时,算法可能无效。 2算法的基本要素 (1)算法中对数据的运算和操作:每个算法实际上是按解题要求从环境能进行的所有操作中选择合适的操作所组成的一组指令序列。 计算机可以执行的基本操作是以指令的形式描述的。一个计算机系统能执行的所有指令的集合,称为该计算机系统的指令系统。计算机程序就是按解题要求从计算机指令系统中选择合适的指令所组成的指令序列在一般的计算机系统中,基本的运算和操作有以下4类: ①算术运算:主要包括加、减、乘、除等运算; ②逻辑运算:主要包括“与”、“或”、“非”等运算; ③关系运算:主要包括“大于”、“小于”、“等于”、“不等于”等运算; ④数据传输:主要包括赋值、输入、输出等操作。 (2)算法的控制结构:一个算法的功能不仅仅取决于所选用的操作,而且还与各操作之间的执行顺序有关。算法中各操作之间的执行顺序称为算法的控制结构。 算法的控制结构给出了算法的基本框架,它不仅决定了算法中各操作的执行顺序,而且也直接反映了算法的设计是否符合结构化原则。描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。 (3)算法设计的基本方法 计算机算法不同于人工处理的方法,下面是工程上常用的几种算法设计,在实际应用时,各种方法之间往往存在着一定的联系。 (1)列举法 列举法是计算机算法中的一个基础算法。列举法的基本思想是,根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。 列举法的特点是算法比较简单。但当列举的可能情况较多时,执行列举算法的工作量将会很大。因此,在用列举法设计算法时,使方案优化,尽量减少运算工作量,是应该重点注意的。 (2)归纳法 归纳法的基本思想是,通过列举少量的特殊情况,经过分析,最后找出一般的关系。从本质上讲,归纳就是通过观察一些简单而特殊的情况,最后总结出一般性的结论。

全国计算机等级考试二级公共基础知识练习题及答案.doc

全国计算机等级考试二级公共基础知识练习题 及答案 全国计算机二级考试主要考核使用一种高级计算机语言编写程序以及 上机调试的基本技能,以下是由我整理关于的内容,希望大家喜欢! (一) 1、域名是ISP的计算机名,域名中的后缀、gov表示机构所属类型为( )。 A、政府机构 B、教育机构 C、商业机构 D、军事机构考试用书 答案:A 2、中文EXCEL的分类汇总方式不包括( )。 A、乘积 B、平均值 C、值 D、求和 答案:A 3、地址为202、18、66、5的IP地址属于( )类IP地址。 A、A B、C C、D

D、B 答案:B 4、微型计算机硬件系统中最核心的部件是( )。 A、硬件 B、I/O 设备 C、内存储器 D、CPU 答案:D 5、在计算机技术指标中,MIPS用来描述计算机的( )。 A、运算速度 B、时钟频率 C、存储容量 D、字长 答案:A (二) 1、Excel的主要功能是( )。 A、表格处理,文字处理,文件管理 B、表格处理,网络通讯,图表处理 C、表格处理,数据库管理,图表处理 D、表格处理,数据库管理,网络通讯 答案:C 2、关于Word中的文本框,下列说法( )是不正确的。

A、文本框可以做出冲蚀效果 B、文本框可以做出三维效果 C、文本框只能存放文本,不能放置图片 D、文本框可以设置底纹 答案:C 3、局域网的英文缩写是( )。 A、WAN B、LAN C、MAN D、Internet 答案:B 4、在WORD编辑状态下,当前编辑文档中的字体是宋体,选择了一段文字使之反显,先设定了楷体,又设定了黑体,则( )。 A、文档全文都是楷体 B、被选择的内容仍是宋体 C、被选择的内容便成了黑体 D、文档全部文字字体不变 答案:C 5、下列叙述中,正确的是( )。 A、CPU 能直接读取硬盘上的数据 B、CPU 能直接存取内存储器中的数据 C、CPU 由存储器和控制器组成

计算机二级必看精选真题

计算机二级必备题目 第一部分(真题综合篇) 一、选择题((1)~(40)每题1分,(41)~(50)每题2分,共60分)下列各题A、B、C、D四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 1、 1MB等于() (本题分值:1分) A)1000字节 B)1024字节 C)1000╳1000字节 D)1024╳1024字节 2、与十六进制数200等值得十进制数为() (本题分值:1分) A)256 B)512 C)1024 D)2048 3、所谓“裸机“是指() (本题分值:1分) A)单片机 B)单板机 C)不装备任何软件的计算机 D)只装备操作系统的计算机

4、能将高级语言编写的源程序转换为目标程序的是() (本题分值:1分) A)链接程序 B)解释程序 C)编译程序 D)编辑程序 5、在64为计算机中,一个字长所占字节数为() (本题分值:1分) A)64 B)8 C)4 D)1 6、在Windows环境下,当一个应用程序窗口被最小化后,该应用程序()(本题分值:1分) A)继续在后台运行 B)继续在前台运行 C)终止运行 D)暂停运行 7、在Windows环境下,能实现窗口移动的操作是() (本题分值:1分)

A)用鼠标拖动窗口中的任何部位 B)用鼠标拖动窗口的边框 C)用鼠标拖动窗口的控制按钮 D)用鼠标拖动窗口的标题栏 8、在Windows环境下,PrintScreen键的作用是()(本题分值:1分) A)打印当前窗口的内容 B)打印屏幕内容 C)复制屏幕到剪贴板 D)复制当前窗口到剪贴板 9、Internet的通信协议是() (本题分值:1分) A)TCP/IP B)BBS C)WWW D)FTP 10、下列叙述中正确的是() (本题分值:1分) A)计算机病毒只感染可执行文件 B)计算机病毒只感染文本文件 C)计算机病毒只能通过软件复制的方式进行传播

全国计算机等级考试二级公共基础知识

全国计算机等级考试二级公共基础知识复习资料 全国计算机等级考试二级公共基础知识复习资料 第一章数据结构与算法 1.1 算法 算法:是指解题方案的准确而完整的描述。 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。 算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。 指令系统:一个计算机系统能执行的所有指令的集合。 基本运算包括:算术运算、逻辑运算、关系运算、数据传输。算法的控制结构:顺序结构、选择结构、循环结构。

算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。 算法复杂度:算法时间复杂度和算法空间复杂度。算法时间复杂度是指执行算法所需要的计算工作量。算法空间复杂度是指执行这个算法所需要的内存空间。1.2 数据结构的基本基本概念 数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; (2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。 数据结构是指相互有关联的数据元素的集合。数据的逻辑结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 数据的存储结构有顺序、链接、索引等。 线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。非线性结构:不满足线性结构条件的数据结构。 1.3 线性表及其顺序存储结构 线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。

全国计算机等级考试二级公共基础知识考纲

全国计算机等级考试二级公共基础知识考纲 考试内容 一、基本数据结构与算法 1、算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。 2、数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。 3、线性表的定义;线性表的顺序存储结构及其插入与删除运算。 4、栈和队列的定义;栈和队列的顺序存储结构及其基本运算。 5、线性单链表、双向链表与循环链表的结构及其基本运算。 6、树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。 7、顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。 二、程序设计基础 1、程序设计方法与风格。 2、结构化程序设计。 3、面向对象的程序设计方法,对象,方法,属性及继承与多态性。 三、软件工程基础 1、软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境。 2、结构化分析方法,数据流图,数据字典,软件需求规格说明书。 3、结构化设计方法,总体设计与详细设计。 4、软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统 测试。 5、程序的调试,静态调试与动态调试。 四、数据库设计基础 1、数据库的基本概念:数据库,数据库管理系统,数据库系统。 2、数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。 3、关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。 4、数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。 考试方式:公共基础的考试方式为笔试,与C语言(VisualBASIC、Visual FoxPro、Java、Access、Visual C++)的笔试部分合为一张试卷。公共基础部分占全卷的30分。公共基础知识有10道选择题和5道填空题。 第一章数据结构与算法 一、内容要点 (一)算法 1.算法的基本概念:算法是指解题方案的准确而完整的描述。即是一组严谨地定义运算顺序的规则,并且

计算机二级公共基础知识高频考点归纳总结

第一章数据结构与算法 算法 1、算法:是指解题方案的准确而完整的描述。算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 2、算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括:(1)可行性;(2)确定性(3)有穷性(4)拥有足够的情报。 3、算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。 4、指令系统:一个计算机系统能执行的所有指令的集合。 5、基本运算包括:算术运算、逻辑运算、关系运算、数据传输。 6、算法的控制结构:顺序结构、选择结构、循环结构。 7、算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。 8、算法复杂度:算法时间复杂度和算法空间复杂度。 9、算法时间复杂度是指执行算法所需要的计算工作量。 10、算法空间复杂度是指执行这个算法所需要的内存空间。 数据结构的基本基本概念 1、数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; (2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。数据结构是指相互有关联的数据元素的集合。 2、数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。数据的存储结构有顺序、链接、索引等。 3、线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。非线性结构:不满足线性结构条件的数据结构。 线性表及其顺序存储结构 1、线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。 2、非空线性表的结构特征: (1)且只有一个根结点a1,它无前件;(2)有且只有一个终端结点an,它无后件; (3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。 3、线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素的所占的存储空间是连续的; (2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 4、顺序表的运算:插入、删除。 栈和队列 1、栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。用top表示栈顶位置,用bottom 表示栈底。 2、栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。 3、队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。Rear指针指向队尾,front 指针指向队头。 4、队列是“先进行出”(FIFO)或“后进后出”(LILO)的线性表。 线性链表

二级公共基础知识

计算机二级公共基础 2009-09-14 15:13第一章数据结构与算法 1.1 算法 算法:是指解题方案的准确而完整的描述。 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。 算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。 指令系统:一个计算机系统能执行的所有指令的集合。 基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。 算法的控制结构:顺序结构、选择结构、循环结构。 算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。算法复杂度:算法时间复杂度和算法空间复杂度。 算法时间复杂度是指执行算法所需要的计算工作量。 算法空间复杂度是指执行这个算法所需要的内存空间。 1.2 数据结构的基本基本概念 数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。 数据结构是指相互有关联的数据元素的集合。 数据的逻辑结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 数据元素之间的前后件关系是指他们的逻辑关系(反映数据元素之间逻辑关系的数据结构),而与他们在计算机中的存储位置无关。 数据的逻辑结构有两个要素:一、数据元素的集合,通常记为D;二、D上的关系,它反映D中各数据元素之间的前后间关系,通常记为R;即一个数据结构可以表示成 B=(D,R)其中B表示数据结构。未反应数据元素间的前后件关系,一般用二元组表示。a,b是D中的两个数据,二元组(a,b)表示a是b的前件,b是a 的后件。 数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(数据的物理结构)。数据的存储结构有顺序、链接、索引等。 线性结构条件: (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。

2018年计算机二级考试大纲

考试大纲 基本要求 1. 掌握计算机基础知识及计算机系统组成。 2. 了解信息安全的基本知识,掌握计算机病毒及防治的基本概念。 3. 掌握多媒体技术基本概念和基本应用。 4. 了解计算机网络的基本概念和基本原理,掌握因特网网络服务和应用。 5. 正确采集信息并能在文字处理软件Word、电子表格软件Excel、演示文稿制作软件Power-Point 中熟练应用。 6. 掌握Word的操作技能,并熟练应用编制文档。 7. 掌握Excel 的操作技能,并熟练应用进行数据计算及分析。 8. 掌握PowerPoint 的操作技能,并熟练应用制作演示文稿。 考试内容 一、计算机基础知识 1. 计算机的发展、类型及其应用领域。 2. 计算机软硬件系统的组成及主要技术指标。 3. 计算机中数据的表示与存储。 4. 多媒体技术的概念与应用。 5. 计算机病毒的特征、分类与防治。 6. 计算机网络的概念、组成和分类;计算机与网络信息安全的概念和防控。 7. 因特网网络服务的概念、原理和应用。 二、Word的功能和使用 1. Microsoft Office应用界面使用和功能设置。 2. Word的基本功能,文档的创建、编辑、保存、打印和保护等基本操作。 3. 设置字体和段落格式、应用文档样式和主题、调整页面布局等排版操作。 4. 文档中表格的制作与编辑。 5. 文档中图形、图像(片)对象的编辑和处理,文本框和文档部件的使用,符号与数学公式的输入与编辑。 6. 文档的分栏、分页和分节操作,文档页眉、页脚的设置,文档内容引用操作。 7. 文档审阅和修订。 8. 利用邮件合并功能批量制作和处理文档。 9. 多窗口和多文档的编辑,文档视图的使用。 10. 分析图文素材,并根据需求提取相关信息引用到Word文档中。 三、Excel 的功能和使用 1. Excel 的基本功能,工作簿和工作表的基本操作,工作视图的控制。 2. 工作表数据的输入、编辑和修改。 3. 单元格格式化操作、数据格式的设置。 4. 工作簿和工作表的保护、共享及修订。 5. 单元格的引用、公式和函数的使用。 6. 多个工作表的联动操作。

计算机二级公共基础知识试题及答案

计算机二级公共基础知识试题及答案 一、选择题 1.在深度为7的满二叉树中,叶子结点的个数为() A.32 B.31 C.64 D.63 参考答案:C 参考解析:在满二叉树中每层的结点数都达到最大值,而且叶子结点全部出现在最底层。第1层(根结点所在的层)有20个结点,第 2层有21个结点,……第n层有2n-1个结点。在深度为7的满二 叉树中,第7层有27-1=64个结点(全部是叶子结点)、在深度为7 的满二叉树中,共有2^(7-1)=64个结点、因此本题的正确答案是C。 2.下列叙述中正确的是() A.程序执行的效率与数据的存储结构密切相关 B.程序执行的效率只取决于程序的控制结构 C.程序执行的效率只取决于所处理的数据量 D.以上三种说法都不对 参考答案:A 参考解析:程序的执行效率与算法和数据结构有密切的关系,瑞士科学家沃士说过“程序=算法+数据结构”。所以程序执行的效率 与数据的存储结构密切相关;程序执行的效率与程序的控制结构、所 处理的数据量有关,但不绝对相关。因此本题的正确答案是A。 3.下列工具为需求分析常用工具的是 A.PAD B.PFD C.N-S D.DFD

参考答案:D 4.以下算法设计基本方法中基本思想不属于归纳法的.是() A.递推法 B.递归法 C.减半递推技术 D.回溯法 参考答案:D 5.对长度n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是() A.快速排序 B.冒泡排序 C.直接插入排序 D.堆排序 参考答案:D 参考解析:排序技术有:①交换类排序法(冒泡排序法、快速排序法);②插入类排序法(简单插入排序、希尔排序);③选择类排序法(简单选择排序法、堆排序法)。在最坏情况下,希尔排序需要的比较次数是O(nl.5)、堆排序需要的比较次数是O(nlog2n)、其它排序方法需要的比较次数都是n(n.1)/2。因此本题的正确答案是D。 6.按软件的功能划分,需求分析工具软件属于 A.应用软件 B.系统软件 C.支撑软件 D.专用软件 参考答案:C 7.对右下图二叉树进行后序遍历的结果为() A.ABCDEF B.DBEAFC C.ABDECF D.D.EBFCA 参考答案:D 参考解析:后序遍历的方法是:若二叉树为空,则结束返回。否则先后序遍历左子树,再后序遍历右子树,最后访问根结点。本题

计算机二级考试常考试题及参考答案集锦

计算机二级考试常考试题及参考答案一、选择题(92题) (1) 下面叙述正确的是(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序 中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终 止D. 以上三种描述都不对 (2) 以下数据结构中不属于线性数据结构的是(C) A. 队列 B. 线性表 C. 二叉树 D. 栈 (3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得 A. 8 B. 16 C. 32 D. 15 (4) 下面描述中,符合结构化程序设计风格的是(A) A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模 块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语 句 (5) 下面概念中,不属于面向对象方法的是(D) 注:P55-58 A. 对象 B. 继承 C. 类 D. 过程调用 (6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B) A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码 (7) 在软件开发中,下面任务不属于设计阶段的是(D) A. 数据结构设计 B. 给出系统模块结构 C. 定义模块算法 D. 定义需求并建立系统模型 (8) 数据库系统的核心是(B) A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库 (9) 下列叙述中正确的是(C) A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数 据库管理系统C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致 (10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注: P108 A. 内模式 B. 外模式 C. 概念模式 D. 逻辑模式 (11) 算法的时间复杂度是指(C)

计算机二级考试必看

站长提醒广大考生:下面的138道题目,在二级考试中命中率极高。 一、选择题 (1) 下面叙述正确的是(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对 (2) 以下数据结构中不属于线性数据结构的是(C) A. 队列 B. 线性表 C. 二叉树 D. 栈 (3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得 A. 8 B. 16 C. 32 D. 15 (4) 下面描述中,符合结构化程序设计风格的是(A) A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句 (5) 下面概念中,不属于面向对象方法的是(D) 注:P55-58 A. 对象 B. 继承 C. 类 D. 过程调用 (6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B) A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码 (7) 在软件开发中,下面任务不属于设计阶段的是(D) A. 数据结构设计 B. 给出系统模块结构 C. 定义模块算法 D. 定义需求并建立系统模型 (8) 数据库系统的核心是(B) A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库 (9) 下列叙述中正确的是(C) A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统 C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致 (10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108 A. 内模式 B. 外模式 C. 概念模式 D. 逻辑模式 (11) 算法的时间复杂度是指(C) A. 执行算法程序所需要的时间 B. 算法程序的长度 C. 算法执行过程中所需要的基本运算次数 D. 算法程序中的指令条数 (12) 算法的空间复杂度是指(D) A. 算法程序的长度 B. 算法程序中的指令条数 C. 算法程序所占的存储空间 D. 算法执行过程中所需要的存储空间 (13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出 A. 349 B. 350 C. 255 D. 351 (14) 结构化程序设计主要强调的是(B) A.程序的规模 B.程序的易读性 C.程序的执行效率 D.程序的可移植性 (15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是 (D) 注:即第一个阶段 A. 概要设计 B. 详细设计 C. 可行性分析 D. 需求分析

全国计算机二级考试公共基础知识

全国计算机二级考试公共基础知识(全) (2010-01-13 17:13:54) 转载 标签:it 分类:天下快报(热点聚焦) 第一章数据结构与算法 经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。 详细重点学习知识点: 1.算法的概念、算法时间复杂度及空间复杂度的概念 2.数据结构的定义、数据逻辑结构及物理结构的定义 3.栈的定义及其运算、线性链表的存储方式 4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历 5.二分查找法 6.冒泡排序法 1.1算法 考点1 算法的基本概念 考试链接: 考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。 计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。 1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。 2.算法的基本要素: (1)算法中对数据的运算和操作 一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。 在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。 (2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。

描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。 考点2 算法复杂度 考试链接: 考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。 1.算法的时间复杂度 算法的时间复杂度是指执行算法所需要的计算工作量。 同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。这表明使用绝对的时间单位衡量算法的效率是不合适的。撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。即 算法的工作量=f(n) 2.算法的空间复杂度 算法的空间复杂度是指执行这个算法所需要的内存空间。 一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。 疑难解答:算法的工作量用什么来计算? 算法的工作量用算法所执行的基本运算次数来计算,而算法所执行的基本运算次数是问题规模的函数,即算法的工作量=f(n),其中n 是问题的规模。 1.2数据结构的基本概念 考点3 数据结构的定义 考试链接: 考点3在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为识记内容,读者还应该识记数据的逻辑结构和存储结构的概念。 数据结构作为计算机的一门学科,主要研究和讨论以下三个方面: (1)数据集合中个数据元素之间所固有的逻辑关系,即数据的逻辑结构; (2)在对数据元素进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。

计算机二级公共基础知识(全)

1.1 算法 考点1 算法的基本概念计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。 算法(algorithm)是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,同时是明确的;此顺序将在有限的次数后终止。算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。 1 算法的基本特征 (1) 可行性(effectiveness):针对实际问题而设计的算法,执行后能够得到满意的结果。 (2) 确定性(definiteness):算法中的每一个步骤都必须有明确的定义,不允许有模棱两可的解释和多义性。 ⑶有穷性(finiteness):算法必需在有限时间内做完,即算法必需能在执行有限个步骤之后终止。 (4)拥有足够的情报:要使算法有效必需为算法提供足够的情报当算法拥有足够的情报时,此算法才最有效的;而当提供的情报不够时,算法可能无效。 2 算法的基本要素 (1) 算法中对数据的运算和操作:每个算法实际上是按解题要求从环境能进行的所 有操作中选择合适的操作所组成的一组指令序列。计算机可以执行的基本操作是以指令的形式描述的。一个计算机系统能执行的所有指令的集合,称为该计算机系统的指令系统。计算机程序就是按解题要求从计算机指令系统中选择合适的指令所组成的指令序列在一般的计算机系统中,基本的运算和操作有以下 4 类: ①算术运算:主要包括加、减、乘、除等运算; ②逻辑运算:主要包括“与” 、“或”、“非”等运算; ③关系运算:主要包括“大于” 、“小于”、“等于”、“不等于”等运算; ④数据传输:主要包括赋值、输入、输出等操作。 (2) 算法的控制结构:一个算法的功能不仅仅取决于所选用的操作,而且还与各操 作之间的执行顺序有关。算法中各操作之间的执行顺序称为算法的控制结构。算法的控制结构给出了算法的基本框架,它不仅决定了算法中各操作的执行顺序,而且 也直接反映了算法的设计是否符合结构化原则。描述算法的工具通常有传统流程图、N-S 结构化流程图、算法描述语言等。一个算法一般都可以用顺序、选择、循环3 种基本控制结构组合而成。 (3) 算法设计的基本方法 计算机算法不同于人工处理的方法,下面是工程上常用的几种算法设计,在实际应用时,各种方法之间往往存在着一定的联系。 (1) 列举法 列举法是计算机算法中的一个基础算法。列举法的基本思想是,根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。 列举法的特点是算法比较简单。但当列举的可能情况较多时,执行列举算法的工作量将会很大。因此,在用列举法设计算法时,使方案优化,尽量减少运算工作量,是应该重点注意的。 (2) 归纳法 归纳法的基本思想是,通过列举少量的特殊情况,经过分析,最后找出一般的关系。从 本质上讲,归纳就是通过观察一些简单而特殊的情况,最后总结出一般性的结论。 (3) 递推递推是指从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。其中初始条件或是问题本身已经给定,或是通过对问题的分析与化简而确定。递推本质上也属于归纳法,工程上许多递推关系式实际上是通过对实际问题的分析与归纳而得到的,因此,递推 关系式往往是归纳的结果。对于数值型的递推算法必须要注意数值计算的稳定性问题。

相关文档
相关文档 最新文档