文档库 最新最全的文档下载
当前位置:文档库 › 全国计算机二级公共基础知识知识点

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

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

公共基础知识

第一章数据结构与算法

1.1 算法

1.1.1 算法的基本概念

1、算法的基本特征

可行性、确定性、有穷性、拥有足够的情报

所谓算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。

2、算法的基本要素

(1)算法中对数据的运算和操作

在一般的计算机系统中,基本的运算和操作:算术运算、逻辑运算、关系运算、数据传输(2)算法的控制结构

描述算法的工具:传统流程图、N-S结构化流程图、算法描述语言等

一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成

3、算法设计基本方法

列举法、归纳法、递推(本质上也属于归纳法,递推关系式往往是归纳的结果)、递归(基础也是归纳,分为直接递归和间接递归两种)、减半递推技术、回溯法(“试”)

1.1.2 算法复杂度

1、算法的时间复杂度(执行算法所需要的计算工作量)

算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数

算法的工作量=f(n),n是问题的规模

?两个n阶矩阵相乘所需要的基本运算(即两个实数的乘法)次数为n3,即计算工作量为n3,也就是时间复杂度为n3

对于一个固定的规模,算法所执行的基本运算次数还可能与特定的输入有关——可以用两种方法来分析算法的工作量:平均性态、最坏情况复杂性

2、算法的空间复杂度(执行这个算法所需要的内存空间)

如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的

1.2 数据结构的基本概念

数据结构主要有三个方面的问题:

●数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构

●在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构

●对各种数据结构进行的运算

提高数据处理的效率,主要包括两个方面:

●提高数据处理的速度

●尽量节省在数据处理过程中所占用的计算机存储空间

1.2.1 什么是数据结构

无序表,只能用顺序查找

对分查找只适用于有序表(在词典中查单词的方法类似于对分查找)

数据结构是指相互有关联的数据元素的集合(向量、矩阵、图书馆中的图书卡片目录……)在数据处理领域中,通常把数据元素之间这种固有的关系简单地用前后件关系(直接前驱与直接后继关系)来描述,前后件关系所表示的实际意义随具体对象的不同而不同

1、数据的逻辑结构

一个数据结构应包含以下两方面的信息:

●表示数据元素的信息

●表示各数据元素之间的前后件关系(数据元素之间的前后件关系是指它们的逻辑关系,

而与它们在计算机中的存储位置无关)

一个数据结构可以表示成:

B=(D,R)

D为数据元素的集合,R为D中各数据元素之间的前后件关系(一般用二元组来表示)

?a与b是D中的两个数据,则二元组(a,b)表示a是b的前件,b是a的后件

2、数据的存储结构

各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的,而且一般也不可能相同

一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等存储结构

1.2.2 数据结构的图形表示

在数据结构中,没有前件的结点称为根结点,没有后件的结点称为终端结点(叶子结点)

数据结构中除了根结点与终端结点外的其他结点一般称为内部结点

在对数据结构的处理过程中,不仅数据结构中的结点(即数据元素)个数在动态地变化,而且,各数据元素之间的关系也有可能在动态地变化

1.2.3 线性结构与非线性结构

根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构和非线性结构

如果一个非空的数据结构满足两个条件:

●有且只有一个根结点

●每一个结点最多有一个前件,也最多有一个后件

则称该数据结构为线性结构。线性结构又称线性表。

在一个线性结构中插入或删除任何一个结点后还应是线性结构

线性结构和非线性结构都可以是空的数据结构

1.3 线性表及其顺序存储结构

1.3.1 线性表的基本概念

线性表是由n(n≥0)个数据元素组成的一个有限序列,表中的每一个数据元素,除了第一个外,有且只有一个前件,除了最后一个外,有且只有一个后件

非空线性表有如下一些结构特征:

●有且只有一个根结点,它无前件

●有且只有一个终端结点,它无后件

●除根结点和终端结点外,其他所有节点有且只有一个前件,也有且只有一个后件。线性

表中结点的个数,n称为线性表的长度。当n=0时,称为空表

1.3.2 线性表的顺序存储结构

线性表的顺序存储结构具有以下两个基本特点:

●线性表中所有元素所占的存储空间是连续的

●线性表中各数据元素在存储空间中是按逻辑顺序依次存放的

假设线性表中的第一个数据元素的存储地址(指第一个字节的地址,即首地址)为ADR(a1),每一个数据元素占k个字节,则线性表中第i个元素a i在计算机存储空间中的存储地址为

ADR(a i)= ADR(a1)+(i-1)k

在顺序存储结构中,线性表中每一个数据元素在计算机存储空间中的存储地址由该元素在线性表中的位置序号唯一确定

1.3.3 顺序表的插入运算

在一般情况下,要在第i(1≤i≤n)个元素之前插入一个新元素时,首先要从最后一个(即第n个)元素开始,直到第i个之间共n-i+1个元素依次向后移动一个位置,移动结束后,第

i个位置就被空出,然后将新元素插入到第i项。插入结束后,线性表的长度就增加了1

1.3.4 顺序表的删除运算

在一般情况下,要删除第i(1≤i≤n)个元素时,则要从第i+1个元素开始,直到第n个元素之间共n-i个元素依次向前移动一个位置。删除结束后,线性表的长度就减小了1

1.4 栈和队列

1.4.1 栈及其基本运算

1、什么是栈

栈是限定在一端进行插入与删除的线性表(不需要移动表中其他数据元素)

栈被称为“先进后出”表或“后进先出”表。栈有记忆作用(子弹夹、一端为封闭另一端为开口的容器)

2、栈的顺序存储及其运算

(1)入栈运算:在栈顶位置插入一个新元素

(2)退栈元素:取出栈顶元素并赋给一个指定的变量(当栈顶指针为0时,说明栈空,不可能进行退栈操作)

(3)读栈顶元素:将栈顶元素赋给一个指定的变量

●在这个运算中,栈顶指针不会改变

●当栈顶指针为0时,说明栈空,读不到栈顶元素

1.4.2 队列及其基本运算

1、什么是队列

在操作系统中,用一个线性表来组织管理用户程序的排队执行,原则是:

●初始时线性表为空

●当有用户程序来到时,将该用户程序加入到线性表的末尾进行等待

●当计算机系统执行完当前的用户程序后,就从线性表的头部取出一个用户程序执行

队列是指允许在一端进行插入、而在另一端进行删除的线性表

尾指针rear总是指向最后被插入的元素(队尾元素),排头指针front指向排头元素的前一个位置

队列又称为“先进先出”或“后进后出”的线性表

2、循环队列及其运算

所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用

当循环队列满时有rear=front,而当循环队列空时也有rear=front

队列空和队列满的条件:队列空的条件为s=0

队列满的条件为s=1且rear=front

?假设循环队列的初始状态为空,即s=0,且rear=front=m

(1)入队运算:在循环队列队尾加入一个新元素

?队尾指针进一(rear=rear+1),当队尾指针rear=m+1时,则置rear=1

(2)退队运算:在循环队列的排头位置退出一个元素并赋给指定的变量

?排头指针进一(front=front+1),当排头指针front=m+1时,则置front=1

1.5 线性链表

1.5.1 线性链表的基本概念

在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,成为数据域;另一部分用来存放指针,成为指针域

1、线性链表

线性表中最后一个元素没有后件,因此,线性链表中最后一个结点的指针域为空(用NULL 或0表示)

在线性表的链式存储结构中,各数据结点的存储序号不是连续的,并且各结点在存储空间中

的位置关系与逻辑关系也不一致。在线性链表中,各数据元素之间的前后件关系是由各结点的指针域来指示的,指向线性表中第一个结点的指针HEAD称为头指针,当HEAD=NULL (或0)时称为空表

2、带链的栈

带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,这种带链的栈称为可利用栈计算机中的所有可利用空间都可以以结点为单位连接在可利用栈中

3、带链的队列

1.5.2 线性链表的基本运算

1、在线性链表中查找指定元素

?在非空线性链表中寻找包含指定元素值x的前一个结点p的基本方法:从头指针指向的结点开始往后沿指针进行扫描,直到后面已没有结点或下一个结点的数据域为x为止

当线性链表中存在包含元素x的结点时,则找到的p为第一次遇到的包含元素x的前一个节点序号

当线性链表中不存在包含元素x的结点时,则找到的p为线性链表中的最后一个结点号

2、线性链表的插入

可利用栈是公共的,多个线性链表可以共享它

线性链表在插入过程中不发生数据元素移动的现象,只需改变有关结点的指针即可

3、线性链表的删除

在线性链表中删除一个元素后,不需要移动表的数据元素,只需改变被删除元素所在结点的前一个结点的指针域即可

1.5.3 循环链表及其基本运算

循环链表的特点:

●在循环链表中增加了一个表头结点,其数据域为任意或者根据需要来设置,指针域指向

线性表的第一个元素的结点。循环链表的头指针指向表头结点

●循环链表中最后一个结点的指针域不是空,而是指向表头结点。即在循环链表中,所有

结点的指针构成了一个环状链

在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点,而线性单链表做不到这一点

由于在循环链表中设置了一个表头结点,因此,在任何情况下,循环链表中至少有一个结点存在,从而使空表与非空表的运算统一

1.6 树与二叉树

1.6.1 树的基本概念

在树的结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称为树的根

在树结构中,每一个结点可以有多个后件,它们都称为该结点的子结点。没有后件的结点称为叶子结点

在树结构中,一个结点所拥有的后件个数称为该结点的度。叶子结点的度为0。在树中,所有结点中的最大的度称为树的度

在树结构中,一般按如下原则分层:

●根结点在第一层

●同一层上所有结点的所有子结点都在下一层

●树的最大层次称为树的度

●在树中,以某结点的一个子结点为根构成的树称为该结点的一颗子树

●在树中,叶子结点没有子树

用树来表示算术表达式的原则如下:

●表达式中的每一个运算符在树中对应一个结点,称为运算符结点

●运算符的每一个运算对象在树中为该运算符结点的子树(在树中的顺序为从左到右)

●运算对象中的单变量均为叶子结点

1.6.2 二叉树及其基本性质

1、什么是二叉树

二叉树具有以下两个特点:

●非空二叉树只有一个根结点

●每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树

在二叉树中,每一个结点的度最大为2,即所有子树(左子树或右子树)也均为二叉树

当一个结点既没有左子树也没有右子树时,该结点即是叶子结点

2、二叉树的基本性质

性质1 在二叉树的第k层上,最多有2k-1(k≥1)个结点

性质2 深度为m的二叉树最多有2m-1个结点

(深度为m的二叉树是指二叉树共有m层)

性质3 在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个

性质4 具有n个结点的二叉树,其深度至少为【log2n】+1,其中【log2n】表示取log2n的整数部分

3、满二叉树与完全二叉树

(1)满二叉树

除最后一层外,每一层上的所有结点都有两个子结点

在满二叉树中,每一层上的结点数都达到最大值

(2)完全二叉树

除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点

对于完全二叉树来说,叶子结点只可能在层次最大的两层上出现;对于任何一个结点,若其右分支下的子孙结点的最大层次为p,则其左分支下的子孙结点的最大层次或为p,或为p+1 满二叉树也是完全二叉树,而完全二叉树一般不是满二叉树

完全二叉树还具有以下两个性质:

性质5 具有n个结点的完全二叉树的深度为【log2n】+1

性质6 设完全二叉树共有n个结点。如果从根结点开始,按层序(每一层从左到右)用自然数1,2,…,n给结点进行编号,则对于编号为k(k=1,2,…,n)的结点有以下结论:

●若k=1,则该结点为根结点,它没有父结点;若k>1,则该结点的父结点编号为INT(k/2)●若2k≤n,则编号为k的结点的左子结点编号为2k;否则该结点无左子结点(显然也没

有右子结点)

●若2k+1≤n,则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点

1.6.3 二叉树的存储结构

在计算机中,二叉树通常采用链式存储结构

由于二叉树的存储结构中每一个存储结点有两个指针域,二叉树的链式存储结构也称为二叉链表

对于满二叉树与完全二叉树来说,可以按层序进行顺序存储,但顺序存储结构对于一般的二叉树不适用

1.6.4 二叉树的遍历

在遍历二叉树的过程中,一般先遍历左子树,然后再遍历右子树

在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、中序遍历、后序遍历

1、前序遍历

若二叉树为空,则结束返回

否则:(1)访问根结点

(2)前序遍历左子树

(3)前序遍历右子树

在遍历左右子树时仍然采用前序遍历的方法

2、中序遍历

若二叉树为空,则结束返回

否则:(1)中序遍历左子树

(2)访问根结点

(3)中序遍历右子树

在遍历左右子树时仍然采用中序遍历的方法

3、后序遍历

若二叉树为空,则结束返回

否则:(1)后序遍历左子树

(2)后序遍历右子树

(3)访问根结点

在遍历左右子树时仍然采用后序遍历的方法

1.7 查找技术

1.7.1 顺序查找

顺序查找一般是指在线性表中查找指定的元素

在平均情况下,利用顺序查找法在线性表中查找一个元素,大约要与线性表中一半的元素进行比较

只能采用顺序查找:

●如果线性表为无序表(即表中元素的排列是无序的),则不管是顺序存储结构还是链式存

储结构,都只能用顺序查找

●即使是有序线性表,如果采用链式存储结构,也只能用顺序查找

1.7.2 二分法查找

二分法查找只适用于顺序存储的有序表。在此所说的有序表是指线性表中的元素按值非递减排列(即从小到大,但允许相邻元素值相等)

对于长度为n的有序线性表,在最坏情况下,二分查找只需要比较log2n次,而顺序查找需要比较n次

1.8 排序技术

1.8.1 交换类排序法

交换类排序法是指借助数据元素之间的互相交换进行排序的一种方法

1、冒泡排序法

冒泡排序法是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性表变成有序

对线性表的每一次来回扫描后,都将其中的最大者沉到了表的底部,最小者像气泡一样冒到表的前头。冒泡排序又称下沉排序

假设线性表的长度为n,则在最坏的情况下,冒泡排序需要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2

2、快速排序法

冒泡排序法中,在互换两个相邻元素时只能消除一个逆序

快速排序法可以实现通过一次交换而消除多个逆序

快速排序法的关键是对线性表进行分割,以及对各分割出的子表再进行分割

1.8.2 插入类排序法

1、简单插入排序法

所谓插入排序,是指将无序序列中的各元素依次插入到已经有序的线性表中

一般来说,假设线性表中前j-1个元素已经有序,现在要将线性表中第j个元素插入到前面的有序子表中

在简单插入排序法中,每一次比较后最多移掉一个逆序,因此,这种排序方法的效率与冒泡排序法相同。在最坏情况下,简单插入排序需要n(n-1)/2次比较

2、希尔排序法

希尔排序法的基本思想:将整个无序序列分割成若干小的子序列分别进行插入排序

子序列的分割方法:将相隔某个增量h的元素构成一个子序列。在排序过程中,逐次减小这个增量,最后当h减到1时,进行一次插入排序,排序就完成(增量序列一般取h1=n/2k(k=1,2,…,【log2n】),其中n为待排序序列的长度)

在希尔排序过程中,在子表中每进行一次比较就有可能移去整个线性表中的多个逆序

在最坏情况下,希尔排序所需要的比较次数为O(n1.5)

1.8.3 选择类排序法

1、简单选择排序法

选择排序法的基本思想:扫描整个线性表,从中选出最小的元素,将它交换到表的最前面(这是它应有的位置);然后对剩下的子表采用同样的方法

对于长度为n的序列,选择排序需要扫描n-1遍,每一遍扫描均从剩下的子表中选出最小的元素,然后将该最小的元素与子表中的第一个元素进行比较

简单选择排序法在最坏情况下需要比较n(n-1)/2次

2、堆排序法

堆顶元素(即第一个元素)必为最大项

在用完全二叉树表示堆时,树中所有非叶子结点值均不小于其左、右子树的根结点值

在调整建堆的过程中,总是将根结点值与左、右子树的根结点值进行比较,若不满足堆的条件,则将左、右子树根结点值中的大者与根结点值进行交换。这个调整过程一直做到所有子树均为堆为止

在最坏的情况下,堆排序需要比较的次数为O(nlog2n)

第二章程序设计基础

2.1 程序设计方法与风格

就程序设计方法和技术的发展而言,主要经过了结构化程序设计和面向对象的程序设计阶段程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路

要形成良好的程序设计风格,主要应注重和考虑下述一些因素:

1、源程序文档化

(1)符号名的命名

(2)程序注释

注释一般分为序言性注释和功能性注释

(3)视觉组织

2、数据说明的方法

(1)数据说明的次序规范化

(2)说明语句中变量安排有序化

当一个说明语句说明多个变量时,变量按照字母顺序排序为好

(3)使用注释来说明复杂数据的结构

3、语句的结构

(1)在一行内只写一条语句

(2)程序编写应优先考虑清晰性

(3)除非对效率有特殊要求,程序编写要做到清晰第一,效率第二

(4)首先要保证程序正确,然后才要求提高速度

(5)避免使用临时变量而使程序的可读性下降

(6)避免不必要的转移

(7)尽可能使用库函数

(8)避免采用复杂的条件语句

(9)尽量减少使用“否定”条件的条件语句

(10)数据结构要有利于程序的简化

(11)要模块化,使模块功能尽可能单一化

(12)利用信息隐蔽,确保每一个模块的独立性

(13)从数据出发去构造程序

(14)不要修补不好的程序,要重新编写

4、输入和输出

(1)对所有的输入数据都要检验数据的合法性

(2)检查输入项的各种重要组合的合理性

(3)输入格式要简单,以使得输入的步骤和操作尽可能简单

(4)输入数据时,应允许使用自由格式

(5)应允许缺省值

(6)输入一批数据时,最好使用输入结束标志

(7)在以交互式输入/输出方式进行输入时,要在屏幕上使用提示符明确提示输入的要求,同时在数据输入过程中和输入结束时,应在屏幕上给出状态信息

(8)当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性;给所有的输出加注释,并设计输出报表格式

2.2 结构化程序设计

2.2.1 结构化程序设计的原则

1、自顶向下

2、逐步求精

3、模块化

4、限制使用goto语句

(1)滥用GOTO语句确实有害,应尽量避免

(2)完全避免使用GOTO语句也并非是个明智的方法,有些地方使用GOTO语句,会使程序流程更清楚、效率更高

(3)争论的焦点不应该放在是否取消GOTO语句,而应该放在用什么样的程序结构上

2.2.2 结构化程序的基本结构与特点

程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法

1、顺序结构

最基本、最常用的结构

2、选择结构

又称为分支结构,包括简单选择和多分支选择结构

3、重复结构

又称为循环结构

对先判断后执行循环体的称为当型循环结构

对先执行循环体后判断的称为直到型循环结构

2.2.3 结构化程序设计原则和方法的应用

在结构化程序设计的具体实施中,要注意把握如下要素:

(1)使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑(2)选用的控制结构值准许有一个入口和一个出口

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,它无前件;

计算机二级必备知识点

第一部分算法与数据结构(历年比例 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】。

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

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

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

计算机二级基础知识整理

计算机基础知识部分 1.1计算机概述 考点1计算机发展简史 1946年2月日,世界上第一台电子计算机Eniac在美国宾夕法尼亚大学诞生,它的出现具有划时代的伟大意义。 从第一台计算机的诞生到现在,计算机技术经历了大型机、微型机及网络阶段。对于传统的大型机,根据计算机所采用电子元件的不同而划分为电子管、晶体管、集成电路和大规模、超大规模集成电路等四代, 我国在微型计算机方面,研制开发了长城、方正、同方、紫光、联想等系列微型计算机我国在巨型机技术领域中研制开发了“银河”、“曙光”、“神威”等系列巨型机。 考点2计算机的特点 现代计算机算一般具有以下几个重要特点。 (1)处理速度快(2)存储容量大。(3)计算精度高。(4)工作全自动。 (5)适用范围广,通用性强。 考点3计算机的应用 计算机具有存储容量大,处理速度快,逻辑推理和判断能力强等许多特点,因此已被广泛应用于各种科学领域,并迅速渗透到人类社会的各个方面,同时也进人了家庭。计算机主要有以下几个方面的应用。 (1)科学计算(数值计算)。(2)过程控制。(3)计算机辅助设计(CAD)和计算机辅助制造(CAM)。(4)信息处理。(5)现代教育(计算机辅助教学(CAI)、计算机模拟、多媒体教室、网上教学和电子大学)。(6)家庭生活。 考点4计算机的分类: 巨型机,小巨型机,大型主机,小型机,工作站,个人计算机。 1.3 计算机中字符的编码考点7 西文字符的编码 计算机中常用的字符编码有EBCDIC码和ASCII码。IBM系列大型机采用EBCDIC码,微型机采用ASCII码是美国标准信息交换码,被国际化组织指定为国际标准。它有7位码和8位码两种版.国际的7位ASCII码是用7位二进制数表示一个字符的编码,其编码范围从0000000B一1111111B,共有7=128个不同的编码值,相应可以表示128个不同的编码。7位ASCII码表:p41 考点8汉字的编码 1.汉字信息的交换码 汉字信息交换码简称交换码,也叫国标码。规定了7 445个字符编码,其中有682个非汉字图形符和6763个汉字的代码。有一级常用字3755个,二级常用字3 008个。两个字节存储一个国标码。国标码的编码范围是2121H一7E7EH。区位码和国标码之间的转换方法是将一个汉字的十进制区号和十进制位号分别转换成十六进制数,然后再分别加上20H,就成为此汉字的国标码: 汉字国标码=区号(十六进制数)+20H位号(十六进制数)+ 20H 而得到汉字的国标码之后,我们就可以使用以下公式计算汉字的机内码:

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

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.栈按先进后出的原则组织数据,所以入栈最早的最后出栈,而队列是先进先出的线性 表。 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.软件测试的基本准则有:所有测试都应追溯到需求,严格执行测试计划,排除测试的随 意性,充分注意测试中的群集现象,程序员应避免检查自己的程序,穷举测试不可能,

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

全国计算机等级考试二级公共基础知识考纲 考试内容 一、基本数据结构与算法 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)的线性表。 线性链表

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

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

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

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

计算机二级知识点总结4word版本

计算机二级知识点总结4 1.先到先服务的作业调度:队列;函数的递归调用:堆栈;数据元素的引用、多重循换的执行:程序设计的技术。 2.黑盒测试方法有等价类划分法、边界值分析法、错误推测法。 白盒测试方法有逻辑覆盖测试、基本路径测试。 3.数据库设计六阶段:需求分析、概念设计、逻辑设计、物理设计、数据库实施、运行维护。 4.世界上第一台电子计算机与1946年在美国宾夕法尼亚大学诞生,称为电子数字积分计算机(ENINC).(20世纪40年代) 5.1GB=10亿个字节。 6.在微机中,西文字符所采用的编码是ASCII码。 7.若希望Word中所有超链接的文本颜色在被访问后变为绿色,最优的操作方法是:在“页面布局”选项卡“主题”工具组单机“颜色”按钮,再从下拉菜单单击“新建主题颜色”,修改已访问的超链接的字体颜色。 8.需要同时选中所有工作表的同一区域最快捷的方法是:按下Shift键单击最后一张工作表标签。 9.在Word中插入一个利用Excel制作好的表格,并希望在Word 文档中的表格内容随Excel源文件的数据变化而自动变化,最快捷的操作方法是:复制Excel数据源,然后在Word右键快捷菜单上选择带有连接功能的粘贴选项。(链接与保留原格式)10.将一篇来自互联网的以.html格式保存的文档内容插入到Word

中,最优的操作方法是:通过插入—对象—文件中的文字功能, 将其插入到Word文档中。 11.在Word2010中设计的某些包含复杂效果的内容如果在未来经常需要使用,如公文版头、签名以及自定义公式等,最佳的操 作方法是:将这些内容保存到文档部件库,需要时进行调用。12.在Word中,docx格式是普通的Word文档格式,Word2007开始,格式由doc变成了docx,一直沿用至今。Dotm格式为启 用宏的模板格式,dotx格式为禁用宏的模板格式;dot是2003 版word的模板格式。 13.Word文档中有五种视图,即页面视图、阅读版式视图、web版式视图、大纲视图、草稿。 14.Word文档中有一个5行4列的表格,要将一个文本文件中的5行文字拷贝到该表格中,使其正好成为该表格中的一列内容, 最优的操作方法是:在文本文件中选中这5行文字,复制到剪 贴板,然后回到word文档中,选中对应的5个单元格,将剪 贴板内容粘贴过来。 15.算法的有穷性是指在有限的步骤一定会结束。算法与程序的区别在于:程序可以陷入死循环,算法必须在有限的时间内结束。 所以算法的有穷性是指算法程序的运行时间是有限的。16.结构化程序设计的基本原则是:自顶向下、逐步求精、模块化、限制使用goto语句。 17.在程序流程图中表示逻辑条件要用菱形框,普通步骤用矩形框,

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

第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.算法的空间复杂度 算法的空间复杂度是指执行这个算法所需要的内存空间。

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

全国计算机二级考试公共基础知识(全) (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)对各种数据结构进行的运算。

全国计算机二级公共基础知识汇总

二级公共基础知识总结(30分:10选择+5填空) 第一章数据结构与算法 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 线性表的顺序存储结构具有以下两个基本特点:

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