当前位置:文档之家› 二级公共基础知识(二级考试必备).doc

二级公共基础知识(二级考试必备).doc

二级公共基础知识(二级考试必备).doc
二级公共基础知识(二级考试必备).doc

数据结构与算法

一、基本概念:

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

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

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

1、逻辑结构:数据元索Z间的逻辑关系

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

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

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

1、线性结构:

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

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

2、非线性结构:

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

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

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

1、顺序存储方法:

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

2、链接存储方法:

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

3、索引存储方法:

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

4、散列存储方法:

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

?算法的基本特征:

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

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

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

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

B 、便于随机存取 D 、不需要占用一片连续的存储空间

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

二、线性表:

?线性表(LinearList):是由n(n>=0)个数据元素(结点)ai,a 2,a 3, .................. &组成的有限序列。

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

1、 顺序存储(Sequential List):将线性表的结点按逻笹次序依次存放在一组地址连续的存储 单

元里,用这种方法存储的线性表称为顺序表。

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

线性表称为链表。 ?常见的运算有:

表的初始化、求表的长度、取表屮的第i 个结点、杏找结点、插入新的结点、删除结点。 ?顺序表和链表的比较:

1、 基于空间的考虑:

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

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

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

密度小于1

2、 基于时间的考虑:

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

半的结点。

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

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

A 、线性表是线性结构

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

C 、线性表是单链表

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

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

A 、便于插入和删除操作 C 、可以动态地分配存储空间

三、&_

?栈(Stack):是限制仅在表的一端进行插入和删除运算的线性表,通常称插入、删除的这 一端

为栈顶(Top),另一端称为栈底(Bottom)o当表屮没有元素时称为空栈。是一种后进先出的线性表,又称为LIFO表。

?栈的基木运算有:

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

?栈的存储:

顺序存储、链式存储

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

A、EDCBA

B、DECBA

C、DCEAB

D、ABCDE

四、队列:

?队列(Queue):也是一种运算受限的线性表,它只允许在表的一端进行插入,而在另一端进行删除。允许删除的一段称为队头(Front),允许插入的一段称为队M(Rear)0(类似于生活屮的购物排队)。是一种先进先出的线性表,又称为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卩任意个连续字符组成的子序列称为该串的子串,包含子串的串相应地称为主串注:空串是任意串的了串,任意串是H自身的了串

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

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

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

串的基本运算:

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

六、树(非线性结构):

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

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

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

是一棵树,并称其为根的了树(Subtree)。

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

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

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

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

?树屮某个结点的了树Z根称为该结点的孩了(Child)结点或了结点,相应的该结点称为孩了结点的双亲(Parents)结点或父结点。

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

?结点的层数(Level)是从根起算,设根的层数为1,其余结点的层数等于其双亲结点的层数加1.?树屮结点的最大层数称为树的高度(Height)或深度(Depth).

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

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

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

?二叉树的五种基本形态:

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

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

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

二叉树的性质:

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

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

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

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

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

?遍历(Traversal):是指沿着某条搜索路线,依次对树屮每个结点均做一次且仅做一次访问。前序遍历:(乂称为先序遍历、先根遍历)

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

2访问根结点;

3前序遍历左了树;

3^前序遍历右了树。

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

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

1、屮序遍历左子树;

一?叉树的遍历:

2、访问根结点;

3^中序遍历右子树。

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

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

1、后序遍历左了树;

2、后丿予遍历右了树;

3、访问根结点。

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

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

A、ACFKDBG

B、GDBFKCA

C、KCFAGDB

D、ABCDFKG

七、排序(Sort):

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

?冒泡排序(Bubble Sorting):

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

?直接选择排序(Selection Sorting):

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

?直接插入排序(Insertion Sorting):

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

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

各种内部排序方法的比校

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

A、n(n+l)/2

B、n(n-l)/2 C^ n*n/2 D、n(n+l)/2-1

对n个元索进行冒泡排序过程屮,最好情况下的时间复杂性为()

A、0(1)

B、O(log2n)

C、0(n2)

D、0(n)

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

A、0(1)

B、O(lgn)

C、O(n-)

D、O(nlgn)

八、查找(Searchin±):

?所谓查找是指给定一个值K,在含有n个结点的表屮找出关键字等于给定值K的结点。若找到,则杳找成功,返冋该结点的信息或该结点在表中的位置;否则查找失败,返冋相关的提示信息。

?顺序查找(Sequentitil Search)的基木思想是:从表的一端开始,顺序扫描线性表,依次将扫描到的结点关键字和给定值K相比较,若当前扫描到的结点关键字与K相等,贝悄找成功;若扫描结束示,仍未找到关键字等于K的结点,则查找失败。顺序杳找即适用顺序存储结构,又适用链式存储结构。

杏找成功的平均杏找长度为:(n为结点数目)

(1 +2+3+4+ ??? +n) / n = (n+1)/2

?二分查找(Binary Search)又称折半杳找,它是一种效率较高的杳找方法,二分查找要求线性表是有序表,即表屮结点按关键字有序,并且要用向量作为表的存储结构。另外, 二分查找只适用顺序存储结构,在链式存储结构上无法实现二分查找。

杏找成功时的平均查找长度:(n为结点数目)

Z」1g(n + 1)-1

n

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

软件工程基础

_、基本概念:

?软ft (Software):软件是一种产品(逻辑产品),指的是计算机中程序及其说明程序的备种文档。“程序”是计算任务的处理对彖和处理规则的描述;“文档”是有关计算机程序功能、设计、编制、使用的文字或图形资料。

?软件危机的表现:

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

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

3、软件质量难以保证

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

5、软件成本不断提高

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

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

?软件工程的目标:

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

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

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

?常用的模型有:瀑布模型、增童模型、螺旋模型、喷泉模型、变换模型和基于知识的模型瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。主要包括问题定义及可行性分析、项H开发计划、需求分析、概要设计、详细设计、编码、测试和维护几个阶段。

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

A、程序就是软件

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

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

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

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

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

?可行性研究的任务:

A、技术可行性

B、经济可行性

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

?可行性研究的具体步骤:

1、确定项目规模和目标

2、研究正在运行的系统

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

4、导岀和评价备种方案

5、推荐可行的方案

6、编写可行性研究报告

三、软性霊求分桩1

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

?需求分析的基木任务:

1、问题识别

A、功能需求

B、性能需求

C、环境需求

D、用户界面需求

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

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

?需求分析的方法:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

四、软件概要设计:

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

?软件概要设计的基木任务:

1、设计软件系统结构

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

3、编写概要设计文档:

4、评审:

?软件设计的方法:

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

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

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

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

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

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

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

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

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

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

五、软件详细设计:

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

?软件详细设计的基木任务:

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

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

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

4、输入、输出格式设计

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

6、评审:

?详细设计常用三种丁?具:

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

表格(判定表)、

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

六、软件编码:

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

Pascal x C、C++、Java 等

七、软件测试:

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

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

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

3、一个成功的测试是发现了至今诡未发现的错误的测试。?软件测试的原则:

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

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

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

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

5、长期保留测试用例

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

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

?软件测试方法:

1、静态测试:

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

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

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

主要对软件的接口进行测试,依据需求规格说明书,检查程序是否满足功能要求。常用的

技术是等价类划分法、边界值分析法、错误推测法、因果图法、综合策略法

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

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

?软件测试的实施:

1、单元测试:

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

A、模块接口

B、局部数据结构:

C、重要的执行路径:

D、错误处理测试:

E、边界条件:

2、集成测试:

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

主要方法有两种:

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

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

3、确认测试:

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

4、系统测试:

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

?程丿予调试:

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

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

A、证明软件的正确性

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

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

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

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

A、结构合理性

B、软件外部功能

C、程序正确性

D、程序内部逻辑

八、软件维护:

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

B 、软件的配置更新 D 、软件开发期的一个阶段

A 、详细设计

B 、软件编码

C 、软件测试

D 、软件维护

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

1、 校正性维护:

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

2、 适应性维护:

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

3、 完善性维护:

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

4、 预防性维护:

为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护,其占整个维护 丁?作的4% 例:软件维护是指()

A 、维护软件正常运行 C 、对软件的改进、适应和完善

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

数据库原理基础

、基本概念:

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

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

阶段:

1、 人工管理

2、 文件系统

3、 数据库系统

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

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

?数据库(Database):是指存储在计算机存储设备上的结构化的相关数据的集合,不仅包 括数

据本身,还包括事物Z 间的联系。

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

实际应用的应用软件系统。

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

? 数据库系统(DBS):由硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理 员

和用户组成。 ?数据库系统的特点:

实现数据共享、减少数据兀余 采用特定的数据模型

具有较高的数据独立性

统一的数据控制功能

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

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

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

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

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

A、数据定义功能

B、数据管理功能

C、数据操纵功能

D、数据控制功能

?联系:实体Z间的对应关系。

联系的类型:

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

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

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

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

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

学生与课稈,工程项目与零件

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

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

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

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

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

实体Z间的联系。

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

A、关系模型

B、网状模型

C、层次模型

D、以上三个都是

二、关系数据库:

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

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

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

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

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

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

?关系性质:

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

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

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

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

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

二维表中属性与次序无关,可任意交换——属性的次序无关性例:关系数据模型屮表示实体和实体间的联系的结构是()

A、树型

B、网状

C、二维表

D、对象

?并(Union):是由两个关系的元纟R组成的集合。(两个关系必须具有相同的关系模式) ?差(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)可行性 由于算法的设计是为了在某一个特定的计算工具上解决某一个实际的问题而设计的,因此,它总是受到计算工具的限制,使执行产生偏差。

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

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

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

第一章数据结构 一、选择题 (1)下列数据结构中,能用二分法进行查找的是 A)顺序存储的有序线性表 B)线性链表 C)二叉链表 D)有序线性链表 【答案】A 【解析】二分查找只适用于顺序存储的有序表。在此所说的有序表是指线性表中的元素按值非递减排列(即从小到大.但允许相邻元素值相等)的。选项A正确。 (2)下列关于栈的描述正确的是 A)在栈中只能插入元素而不能删除元素 B)在栈中只能删除元素而不能插入元素 C)栈是特殊的线性表,只能在一端插入或删除元素 D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素 【答案】C 【解析】栈是一种特殊的线性表,其插入与删除运算都只在线性表的一端进行。由此可见,选项A、选项B和选项D错误,正确答案是选项C。 (3)下列叙述中正确的是 A)一个逻辑数据结构只能有一种存储结构 B)数据的逻辑结构属于线性结构,存储结构属于非线性结构 C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 【答案】D 【解析】一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等存储结构。而采用不同的存储结构,其数据处理的效率是不同的。由此可见,选项D的说法正确。 (4)算法执行过程中所需要的存储空间称为算法的 A)时间复杂度B)计算工作量C)空间复杂度D)工作空间 【答案】c 【解析】算法执行时所需要的存储空间,包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间,其中额外空间还包括算法程序执行过程的工作单元以及某种数据结构所需要的附加存储空间。这些存储空间共称为算法的空间复杂度。 (5)下列关于队列的叙述中正确的是 A)在队列中只能插入数据B)在队列中只能删除数据 C)队列是先进先出的线性表D)队列是先进后出的线性表 【答案】c 【解析】对队列可以进行插入和删除数据的操作,只是插入数据只能在队尾,删除数据只能在队头。所以队列是先进先出的线性表。 (6)设有下列二叉树: A

二级公共基础知识分类模拟题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.在栈中,栈顶指针的动态变化决定栈中元素的个数

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

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

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

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

线性结构条件: (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。 1.3 线性表及其顺序存储结构 线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。 在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。 非空线性表的结构特征: (1)且只有一个根结点a1,它无前件; (2)有且只有一个终端结点an,它无后件; (3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。线性表的顺序存储结构具有以下两个基本特点: (1)线性表中所有元素的所占的存储空间是连续的; (2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。 顺序表的运算:插入、删除。(详见14--16页) 1.4 栈和队列 栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。 栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。用top表示栈顶位置,用bottom表示栈底。 栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。 队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。Rear指针指向队尾,front指针指向队头。 队列是“先进行出”(FIFO)或“后进后出”(LILO)的线性表。 队列运算包括(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。 循环队列:s=0表示队列空,s=1且front=rear表示队列满 1.5 线性链表 数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。

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

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

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

第一章数据结构与算法 算法 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)的线性表。 线性链表

计算机二级公共基础知识要点总结

计算机二级公共基础知识要点总结 1.栈按先进后出的原则组织数据,所以入栈最早的最后出栈,而队列是先进先出的线性 表。 2.循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的线性表。 在循环队列中只需要对头指针与队尾两个指针来共同反映队列中元素的动态变化情况。 3.当有序线性表为顺序存储时才能用二分法查找。可以证明的是对于长度为n的有序线性 表,在最坏的情况下二分法查找只需要比较log2n次,而顺序查找需要比较n次。 4.链式存储结构既可以针对线性结构也可以针对非线性结构。 链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间。 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的。 5.数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道一般在旁边标 注数据流名。 程序流程图中带有箭头的线段表示的是控制流。 6.在软件开发中,需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,判定 树与判定表。 7.“对象”有如下一些基本特点:标识唯一性,分类型,多态性,封装性,模块独立性好。 8.数据管理发展至今已经历了三个阶段:人工管理阶段,文件系统阶段和数据库系统阶段。 其中最后一个阶段结构简单,使用方便,逻辑性强,物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位。 9.自然链接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性 组,并且在结果中把重复的属性列去掉。 10.内存又称主存,是CPU能直接寻址的存储空间,由半导体器件制成。内存的特点是存取 速率快。所以微机中访问速度最快的存储器是内存。 11.计算机能直接识别和执行的语言是机器语言,机器语言是用二进制代码表示的计算机能 直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活,直接执行和速度快等特点。 12.1MB=1024KB=1024*1024B=220B 13.Internet的四层结构分别是:网络接口层,网络层,传输层和应用层。 14.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。 15.栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表。 16.二叉树的基本性质:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一 个。 例如:某二叉树有五个度为2的结点,则该二叉树中的叶子结点数是5+1=6个。 17.冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆 排序在最坏的情况下需要比较的次数是nlog2n,即在排序方法中,最坏情况下比较次数最少的是堆排序。 18.软件按功能可分为:应用软件,系统软件和支撑软件(或工具软件)。 19.软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误。 程序调试的基本步骤有:错误定位,修改设计和代码,以排除错误进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。 20.软件测试的基本准则有:所有测试都应追溯到需求,严格执行测试计划,排除测试的随 意性,充分注意测试中的群集现象,程序员应避免检查自己的程序,穷举测试不可能,

2017计算机二级公共基础知识完整

2017计算机二级公共基础知识完整

第一章数据结构与算法 经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。 详细重点学习知识点: 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.算法的空间复杂度 算法的空间复杂度是指执行这个算法所需要的内存

二级公共基础知识

计算机二级公共基础 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)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。

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

计算机二级公共基础知识试题及答案 一、选择题 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 参考解析:后序遍历的方法是:若二叉树为空,则结束返回。否则先后序遍历左子树,再后序遍历右子树,最后访问根结点。本题

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

1.1 算法 考点1 算法的基本概念计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。 算法(algorithm)是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,同时是明确的;此顺序将在有限的次数后终止。算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。 1 算法的基本特征 (1) 可行性(effectiveness):针对实际问题而设计的算法,执行后能够得到满意的结果。 (2) 确定性(definiteness):算法中的每一个步骤都必须有明确的定义,不允许有模棱两可的解释和多义性。 ⑶有穷性(finiteness):算法必需在有限时间内做完,即算法必需能在执行有限个步骤之后终止。 (4)拥有足够的情报:要使算法有效必需为算法提供足够的情报当算法拥有足够的情报时,此算法才最有效的;而当提供的情报不够时,算法可能无效。 2 算法的基本要素 (1) 算法中对数据的运算和操作:每个算法实际上是按解题要求从环境能进行的所 有操作中选择合适的操作所组成的一组指令序列。计算机可以执行的基本操作是以指令的形式描述的。一个计算机系统能执行的所有指令的集合,称为该计算机系统的指令系统。计算机程序就是按解题要求从计算机指令系统中选择合适的指令所组成的指令序列在一般的计算机系统中,基本的运算和操作有以下 4 类: ①算术运算:主要包括加、减、乘、除等运算; ②逻辑运算:主要包括“与” 、“或”、“非”等运算; ③关系运算:主要包括“大于” 、“小于”、“等于”、“不等于”等运算; ④数据传输:主要包括赋值、输入、输出等操作。 (2) 算法的控制结构:一个算法的功能不仅仅取决于所选用的操作,而且还与各操 作之间的执行顺序有关。算法中各操作之间的执行顺序称为算法的控制结构。算法的控制结构给出了算法的基本框架,它不仅决定了算法中各操作的执行顺序,而且 也直接反映了算法的设计是否符合结构化原则。描述算法的工具通常有传统流程图、N-S 结构化流程图、算法描述语言等。一个算法一般都可以用顺序、选择、循环3 种基本控制结构组合而成。 (3) 算法设计的基本方法 计算机算法不同于人工处理的方法,下面是工程上常用的几种算法设计,在实际应用时,各种方法之间往往存在着一定的联系。 (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、数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。 考试方式:公共基础的考试方式为笔试,与C语言(VisualBASIC、Visual FoxPro、Java、Access、Visual C++)的笔试部分合为一张试卷。公共基础部分占全卷的30分。公共基础知识有10道选择题和5道填空题。 第一章数据结构与算法 一、内容要点 (一)算法 1.算法的基本概念:算法是指解题方案的准确而完整的描述。即是一组严谨地定义运算顺序的规则,并且

整理好的超完整计算机二级公共基础知识

第1章数据结构与算法 经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。 详细重点学习知识点: 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.算法的空间复杂度 算法的空间复杂度是指执行这个算法所需要的内存空间。

2020年全国计算机等级考试二级公共基础知识必考重点提纲(精华版)

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

算法时间复杂度是指执行算法所需要的计算工作量。 一般来说,算法的工作量用其执行的基本运算次数来度量,而算法执行的基本运算次数是问题规模的函数。在同一个问题规模下,用平均性态和最坏情况复杂性来分析。一般情况下,用最坏情况复杂性来分析算法的时间复杂度。 算法空间复杂度是指执行这个算法所需要的内存空间。 1.2数据结构的基本概念 数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; (2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。 数据结构是指相互有关联的数据元素的集合。 数据结构是反映数据元素之间关系的数据元素集合的表示。 数据的逻辑结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。(逻辑关系,与在计算机内的存储位置无关) 一个数据结构中的各数据元素在计算机存储空间中的位置关系与逻辑关系有可能不同。 数据的存储结构是数据的逻辑结构在计算机存储空间中的存放形式。 常用的存储结构有顺序、链接、索引等。

整理好的超完整计算机二级公共基础知识

整理好的超完整计算机二级公共基础知识

第1章数据结构与算法 经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。 详细重点学习知识点: 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.算法的时间复杂度 算法的时间复杂度是指执行算法所需要的计算工作量。 同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。这表明使用绝对的时间单位衡量算法的效率是不合适的。撇开这些与计算机硬件、软件有关的因素,可以认为一个特定

相关主题
文本预览
相关文档 最新文档