当前位置:文档之家› 计算机二级公共基础知识讲义

计算机二级公共基础知识讲义

公共基础在所有的二级考试科目中都占30分。在试卷当中,前十道选择题和前五道填空题均是公共基础内容。

公共基础讲义

数据结构与算法(约占10分)

程序设计基础(约占4分)

软件工程基础(约占8分)

数据库设计基础(约占8分)

第一章数据结构基础

本章内容提要

●算法:算法的基本概念、算法复杂度

●数据结构的基本概念:什么是数据结构、数据结构的图形表示、线性结构与非线

性结构

●线性表及其顺序存储结构:线性表的基本概念、顺序存储结构、插入运算、删除

运算

●栈和队列:栈及其基本运算、队列及其基本运算

●线性链表:基本概念、基本运算、循环链表及其基本运算

●树与二叉树:树的基本概念、二叉树及其基本性质、二叉树的存储结构、二叉树

的遍历

●查找技术:顺序查找、二分法查找

●排序技术:交换类排序法、插入类排序法、选择类排序法

算法

1.算法的基本概念:算法是解题方案的准确而完整的描述。

算法规定了解决某类问题所需的操作语句以及执行顺序,使其能够通过有限的指令语句,在一定时间内解决问题。

算法是一个操作序列,有限长度,目的是解决某类问题。

注意:(1)算法不等同于程序:因为程序的编制不可能由于算法的设计;

(2)算法也不等同于数学上的计算方法:因为很多数学计算公式也许无法在计算机上实现。

2.算法的基本特征(算法具有动态性):可行性、确定性、有穷性、拥有足够的情报(指

的是有输入有输出)

在设计一个算法时,必须要考虑算法的执行过程保证结果的可靠性。

3.算法的基本要素:

第一要素:对数据对象的运算和操作

1)算术运算 + - * /

2)逻辑运算 NOT AND OR

3)关系运算 > < <>

4)数据传输赋值,输入与输出

第二要素:算法的控制结构(决定了算法中各操作的执行顺序)

顺序、选择、循环

4.算法设计的基本方法(计算机解题的过程实际上是在实施某种算法)

1)列举法(列举所有解决方案)

根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。

2)归纳法(特殊 -> 一般)适合于列举量为无限的情况

通过列举少量的特殊情况,经过分析,最后找出一般的关系。

3)递推法(已知 -> 未知)

从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。

4)递归法(逐层分解)

将一个复杂的问题归结为若干个较简单的问题,然后将这些较简单的每一个问题再归结为更简单的问题……

5)减半递推法(对问题分而治之)

“减半”是指将问题的规模减半,而问题的性质不变。所谓“递推”是指重复“减半”的过程。

6)回溯法

复杂应用,找出一个解决问题的线索,然后沿着这个线索逐步多次“探、试”。

5.算法的复杂度(一个算法所要付出的代价)

算法的复杂度可分为:时间复杂度和空间复杂度

算法的复杂度是衡量算法好坏的量度。

1)时间复杂度

概念:指执行算法所需要的计算工作量(即算法的运算次数)。

含义:算法执行过程中所需要的基本运算次数。

影响计算工作量的主要因素:

第一,基本运算次数第二,问题规模

下面的方法不能用来度量算法的时间复杂度:

a)算法程序的长度或算法程序汇总语句(指令)条数

b)算法程序所执行的语句条数

c)算法程序执行的具体时间

时间复杂度的具体度量方法:

在同一问题规模下,如果算法执行所需的基本运算次数取决于某一特定输入时,可以用以下两种方法来分析算法的工作量:

a)平均性态分析

b)最坏情况复杂性分析

2)空间复杂度

概念:空间复杂度是指执行该算法所需要的存储空间(内存空间)

一个算法所用的内存空间包括:算法程序所占的存储空间;输入的初始数据所占的存储空间;算法执行过程中的额外空间。

注意:

a)如果额外空间量相对于问题规模来说是常数,即额外空间量不随问题规模的变化而变

化,则称该算法是原地工作的。

b)为了降低算法的空间复杂度,主要应减少需要处理的数据所占的存储空间以及额外空

间,通常采用压缩存储技术。

算法作业:(补完提纲)

考题练习:

1.下列叙述正确的是:

A.算法就是程序

B.算法强调的是利用技巧提高程序执行效率

C.设计算法时只需考虑结果的可靠性

D.以上三种说法都不对

2.下面叙述正确的是

A.算法的执行效率与数据的存储结构无关

B.算法的空间复杂度是指算法程序中指令(或语句)的条数

C.算法的有穷性是指算法必须能在执行有限个步骤之后终止

D.以上三种描述都不对

3.下列叙述中正确的是:

A.一个算法的空间复杂度大,则其时间复杂度也必定大

B.一个算法的空间复杂度大,则其时间复杂度必定小

C.一个算法的时间复杂度大,则其空间复杂度必定小

D.上述三种说法都不对

4.算法的空间复杂度是指

A.算法程序中变量的个数

B.算法程序中的指令条数

C.算法程序中各控制变量所占的额外空间

D.算法执行过程中所需要的存储空间

历年真题

选择题:0609(7)、0704(1)、0804 (5)、0909(4)、1003(2)

数据结构

目的:提高数据处理的效率(一是提高数据处理的速度;二是尽量节省在数据处理过程中所占用的计算机存储空间)

基本概念:

数据:在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。

数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。

数据结构的内容:

逻辑结构:数据元素之间的逻辑关系,从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

存储(物理)结构:是指数据元素及其关系在计算机内存中的表示,即数据的逻辑结构在计算机存储空间中的存放形式。

注意:对于同一个逻辑结构来说,采用不同的存储结构,其数据处理的效率是不同的。因此,在数据处理时,选择适合的存储结构很重要。

各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定相同。

由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此,为了表示存放在计算机存储空间中的各数据元素之间的逻辑关系(即前后件关系),在数据结构中,不仅要存放各数据元素的本身,而且还需要存放各数据元素之间的前后件关系的信息。

逻辑结构与物理结构的关系 (1) 一种逻辑结构可以用不同的物理结构来实现。 (2) 逻辑结构决定了算法的设计。 (3) 物理结构决定了算法的实现。

数据结构的图形表示

表示数据结构的常用方法:二元关系表和图形表示。 例:一年四季的数据结构可以用图形表示为:

数据元素:用中间标有元素值的方框来表示,称为数据结点,简称为结点。

元素之间的前后关系:用一条有向线段从前件结点指向后件结点(注意有时可以省略箭头)

例:家庭成员数据结构可以表示成为:

数据的逻辑结构

线性结构

线性表 栈 队列

非线性结构

树形结构 图形结构

数据的存储结构

顺序存储

链式存储

数据的运算:检索、排序、插入、删除、修改

在数据结构中,没有前件的结点称为根结点没有后件的结点称为终端结点(也称为叶子结点),其它的称为内部结点。

数据结构的分类:线性结构与非线性结构

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

注意:线性结构与非线性结构是在数据的逻辑结构概念下的一种划分方法,与数据的存储结构无关。前面说过,一种数据的逻辑结构根据需要可以表示成多种存储结构,但只要数据的逻辑结构是属于线性结构,则该逻辑结构的任意一种存储结构也都属于线性结构。

线性结构的定义

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

(1) 有且只有一个根结点(没有前件的结点称为根结点)

(2) 每个结点最多有一个前件,也最多有一个后件。

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

线性结构的操作

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

历年真题:选择:0709(5)、0709(6)、0809(4)、0909(1)

线性表

(1) 线性表就是线性结构。

(2) 线性表的顺序存储结构也称为顺序表。

(3) 在顺序表中,所有元素所占的存储空间是连续的,且各数据元素在存储空间中是按逻辑顺序依次存放的,其前后两个元素在存储空间中是紧邻的,且前件元素一定存储在后件元素的前面。

(4) 线性表的长度:是指线性表中结点的个数,当n=0里,称为空表。

(5) 通常定义一个一维数组来表示线性表的顺序存储空间。用一维数组来存放线性表时,该一维数组的长度不要定义为太短,也不要定义为太长。

顺序表(线性表的顺序结构)的插入运算:最坏情况下,N个元素的线性表要移动N次。顺序表的删除运算:最坏情况下,N个元素的线性表要移动N-1次。

综上所述:线性表的顺序存储结构对于经常需要变动的大线性表就不合适了,因为插入和删

除的效率比较低。

栈的定义:栈是一种特殊的线性表,即限定在一端进行插入与删除的线性表。

栈顶、栈底的定义:在栈中,允许插入和删除的一端称为栈顶,而不允许插入和删除的另一端称为栈底。

入栈、退栈的定义:往栈中插入一个元素叫入栈运算(压栈),从栈中删除一个元素称为退栈运算。

栈的数据操作原则:先进后出FILO

栈具有记忆功能

注意:(1)在顺序存储结构下,栈的插入与删除运算都不需要移动表中其他数据元素。

(2)在栈中,栈顶指针动态反映了栈中元素的变化情况。

栈的存储结构与运算

栈的存储结构:在程序设计语言中,与普通线性表一样,用一维数组作为栈S(1:M)的顺序存储结构,其中M为栈的最大容量。

栈的基本运算:入栈、退栈和读栈顶元素。

在顺序结构下的读栈顶元素是指将栈顶元素赋值给一个指定的变量。(读不是删除,删除一定要先读。在只读的情况下,原来是多少,读后还是多少。)

读栈顶元素过程中应注意的问题:

(1) 读栈顶元素不删除栈顶元素,只是将它的值赋给一个变量。因此在这个运算中栈顶指针不会改变

(2) 当栈顶指针为0时,说明栈为空,读不到栈顶元素。

队列

队列的定义:队列也是一种特殊的线性表,即允许在一端进行插入,而另一端进行删除的线性表。

允许插入的一端叫队尾。(尾指针,rear)

允许删除的一端叫队头。(头指针,front)注意:在尾上插入,头上删除

队列的数据操作方法是:先进先出

在顺序存储结构下,队列的插入与删除运算都不需要移动表中其他数据元素。

在实际应用中,队列的顺序存储结构一般采用循环队列的形式,方法是将队列存储空间的最后一个位置绕到第一个位置,就形成逻辑上的环状空间,供队列循环使用。

确定循环队列中元素个数的方法如下:

设循环队列的容量为M

如果rear>front,则循环队列中的元素个数为rear-front

如果rear

循环队列的运算有两个:

(1) 入队运算:是在循环队列的队尾加入一个新元素,也就是rear+1

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

程序设计中用一维数组作为队列的顺序存储空间。

队列的实际应用实例

在操作系统中,用队列来组织管理用户程序的排队执行,其原则是:1)初始时该队列为空2)当有用户程序来到时,将该用户程序加入到队列的末尾进行等待3)当计算机系统执行完当前的用户程序后,就从队列头部取出一个用户程序执行。

线性表的顺序存储的缺点

第一、在插入和删除时需要移动元素(除栈和队列之外)

第二、上溢(或下溢)错误的出现,即存储空间不便于扩充。

第三、不便于对存储空间的动态分配

总结:对于大的线性表或者变动频繁的线性表不宜用顺序存储。

线性链表

一、链式存储方式

对于大的线性表或者变动频繁的线性表不宜用顺序存储,应该用链式存储。

链式存储方式的结点:由两部分组成,一部分用于存储数据元素值,称为数据域,另一部分用于存放指针,称为指针域。指针域用来指向该结点的后一个(或前一个)结点。

链式存储方式的特点(注意与顺序存储方式区别)

(1) 在链式存储结构中,存储数据结构的存储空间可以是不连续的。

(2) 各结点的存储顺序与数据元素之间的逻辑关系可以不一致。

(3) 链式存储方式可以用于线性结构,也可以用于非线性结构。

注:线性链表是线性表的链式存储结构;带链的栈是栈的链式存储结构;带链的队列是队列的链式存储结构

线性链表的定义:线性链表是线性表的链式存储结构

线性链表的存储结点的定义:为了适应线性链表的链式存储结构,计算机存储空间被划分为一个一个小块,每个小块占若干个字节,通常称这些小块为存储结点。

存储结点=数据域(数据元素本身)+指针域(数据元素之间的前后逻辑关系)

头指针:在线性链表中,头指针(head)很关键,不得丢失。

最后一个结点的指针域:线性链表的最后一个结点的指针域为空(用NULL或0来表示)空表的定义:指向线性表的第一个结点的指针head称为头指针,当head等于NULL或0时称为空表。

线性链表种类:

1)单链表:一个结点只有一个指针域指向后件结点;从任何一个结点开始只能扫描到其后的所有结点。

单链表的缺点:只能找到后件,不能找到前件。

2)双向链表:一个结点有两个指针域,分别指向前件结点和后件结点;从任何一个结点开始可以扫描到其后或其前的所有结点,为了克服单链表的缺点,把每个结点修改为由三

部分组成:

双向链表克服了单向链表的只能找到后件不能找到前件的缺陷。

3)循环链表

在循环链表中,所有结点的指针构成了一个环状链。表头结点的指针域指向线性表的第一个元素的结点,循环链表的头指针指向表头结点,循环链表中最后一个结点的指针也指向表头结点。

从任何一个结点开始可以扫描到链表中的所有结点。

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

带链的栈(栈的链式存储结构)

在实际应用中,带链的栈可以用来收集计算机存储空间中所有空闲的存储结点。这种带链的栈称为可利用栈。

当计算机系统需要存储结点时,退栈。

当计算机系统释放存储结点时,入栈。

线性链表的主要运算有以下三种:

1)在线性链表中查找指定元素。主要目的是为线性链表的读写、插入和删除做准备。

2)在链式存储结构下的线性表中插入一个新元素。

3)在链式存储结构下的线性表中删除包含指定元素的结点。

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

历年真题:选择:0704(5)、0804(7)、0809(1)、0809(2)、0903(1)、0903(2)、0909(2)、0909(3)、1009(1)、1009(2)、1103(1)、1103(2)

填空:0609(4)、0609(5)、0709(3)、0804(3)、0903(1)、1003(1)、1003(2)、1009(1)

考题练习:

1.以下数据结构中不属于线性数据结构的是()

A. 队列

B. 线性表

C. 二叉树

D. 栈

2.数据的存储结构是指()

A. 存储在外存中的数据

B. 数据所占的存储空间量

C.栈具有记忆作用 D. 数据的逻辑结构在计算机中的表示

3.下列关于栈的描述中错误的是()

A. 栈是先进后出的线性表

B. 栈只顺序存储

C. 栈具有记忆作用

D. 对栈的插入与删除操作中,不需要改变栈底指针

4.下列对于线性链表的描述中正确的是()

A.存储空间不一定是连续,且各元素的存储顺序是任意的

B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面

C.存储空间必须连续,且前件元素一定存储在后件元素的前面

D.存储空间必须连续,且各元素的存储顺序是任意的

5.下列关于栈的描述正确的是()

A.在栈中只能插入元素而不能删除元素

B.在栈中只能删除元素而不能插入元素

C.栈是特殊的线性表,只能在一端插入或删除元素

D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素

6.下列叙述中正确的是()

A.一个逻辑数据结构只能有一种存储结构

B.数据的逻辑结构属于线性结构,存储结构属于非线性结构

C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率

D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率

7.按照“后进先出”原则组织数据的数据结构是()

A. 队列

B. 栈

C. 双向链表

D. 二叉树

8.下列叙述中正确的是()

A. 线性链表是线性表的链式存储结构

B. 栈和队列是非线性结构

C. 双向链表是非线性结构

D. 只有根结点的二叉树是线性结构

1.数据结构分为逻辑结构和存储结构,循环队列属于()结构。

2.数据的逻辑结构在计算机存储空间中的存放形式称为数据的()。

3.按“先进后出”原则组织数据的数据结构是()。

4.数据结构分为线性结构和非线性结构,带链的队列属于()。

树与二叉树

(树是一种非线性结构,所有数据元素之间的关系具有明显的层次特性)

结点的定义:数据元素+若干指向子树的分支

结点的度的定义:子树的个数。即拥有的后件的个数称为该结点的度。

树的度的定义:树中所有结点的度的最大值。

叶子结点的定义:度为零的结点,即没有后件的结点。

分支结点的定义:度不为零的结点。

路径的定义:由从根到该结点所经分支和结点构成。

结点的层次(深度)的定义:假设根结点的层次为1,第K层的结点的子树根结点的层次为K+1。

总结:线性结构与树形结构的区别。

二叉树的定义:是一种特殊的树,非空二叉树只有一个根结点。每个根结点最多有两棵子树,其分别称为该结点的左子树和右子树(注意:左右两个子树的次序不能任意颠倒)

二叉树的基本性质

性质1:在二叉树的第K层上,最多有2k-1(k>=1)个结点。

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

性质3:在任意一棵二叉树中,度为0的结点(即叶子结点)总比度为2的结点多一个。n0=n2+1 性质4:具有n个结点的二叉树,其深度至少为[log2n]+1 。其中[log2n]表示取log2n的整数部分。

性质5:具有n个结点的完全二叉树的深度为[log2n]+1。

性质6:具有n个结点的完全二叉树,它的叶子结点的个数按照如下公式计算:n为偶数时,叶子结点数为n/2个;

n为奇数时,叶子结点数为(n+1)/2个。

满二叉树与完全二叉树是特殊的二叉树

满二叉树的定义:是指除最后一层外,每一层上的所有结点都有两个子结点。(注意不要混淆二叉树与满二叉树的概念)

满二叉树的特征:满二叉树上的第k层上有2k-1个结点。

完全二叉树的定义:除最后一层之外,每一层上的结点数均达到了最大值,在最后一层上只缺少右边的若干个结点。

二叉树的存储结构:在计算机中存储二叉树时,除了可以将满二叉树与完全二叉树按层次进行顺序存储之外,其余二叉树通常采用链式存储结构。

二叉树的遍历根据根结点的遍历顺序可分为:

前序遍历:根、左、右

中序遍历:左、根、右

后序遍历:左、右、根

历年真题:选择:0609(10)、0704(6)、0704(7)、0709(8)、0903(3)、1103(3)

填空:0704(1)、0709(4)、0804(2)、0809(1)、0909(1)、1003(3)、1009(3)、1103(2)

考题练习:

1. 在一棵二叉树上第5层的结点数最多是

A)8 B)16 C)32 D)15

2. 某二叉树中度为2的结点有18个,则该二叉树中有_____个叶子结点。

3. 一棵二叉树第六层(根结点为第一层)的结点数最多为______个。

4. 在深度为7的满二叉树中,叶子结点的个数为_______。

5. 有如下边的二叉树,进行后序遍历的结果为_________________。

6. 对如上二叉树进行中序遍历的结果是__________________。

查找技术

顺序查找:从线性表的第一个元素开始,依次将线性表中的元素与被查元素进行比较,若相等则表示查找成功,若找不到相等的则查找失败。

对于庞大的线性表来说,顺序查找的效率很低。但是在下列两种情况下只能采用顺序查找:第一、线性表是无序表(即表中的元素的排列是无序的),则不管顺序结构还是链式结构,都只能用顺序查找。

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

二分法查找(折半查找)只适用于顺序存储的有序表。

优点是:1)二分查找的效率比顺序查找高得多

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

最坏情况下查找的次数:

排序技术

排序技术有三大类方法:交换类排序、插入类排序、选择类排序。

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

典型的交换类排序法:冒泡排序和快速排序

典型的插入类排序法:简单插入排序(也称为直接插入排序)和希尔排序

典型的选择类排序法:简单选择排序和堆排序

以上排序方法最坏情况下需要排序的次数(时间复杂度)

历年真题:选择:0609(8)、0709(7)、0804(6)、0809(3)、0903(4)、1003(1)

填空:1009(2)、1103(1)

考题练习:

1. 对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是

A)冒泡排序为n/2 B)冒泡排序为n

C)快速排序为n D) 快速排序为n(n-1)/2

2. 对于长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为

A)log2n B) n/2 C)n D)n+1

3. 数据结构中,能用二分法进行查找的是

A)顺序存储的有序线性表B)线性链表C)二叉链表D)有序线性表

4. 在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为______。

A)63 B)64 C)6 D)7

5. 对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为()。

习题一

一、选择题

1.算法的时间复杂度是指()

A) 执行算法程序所需要的时间B)算法程序的长度

C) 算法执行过程中所需要的基本运算次数D)算法程序中的指令条数

2. 算法的空间复杂度是指()

A)算法程序的长度B)算法程序中的指令条数

C)算法程序所占的存储空间D)算法执行过程中所需要的存储空间

3. 下列叙述中正确的是()

A)线性表是线性结构B)栈与队列是非线性结构

C)线性链表是非线性结构D)二叉树是线性结构

4. 数据的存储结构是指()

A)数据所占的存储空间量B)数据的逻辑结构在计算机中的表示

C)数据在计算机中的顺序存储方式D)存储在外存中的数据

5. 下列关于队列的叙述中正确的是()

A)在队列中只能插入数据B)在队列中只能删除数据

C)队列是先进先出的线性表D)队列是先进后出的线性表

6. 下列关于栈的叙述中正确的是()

A)在栈中只能插入数据B)在栈中只能删除数据

C)栈是先进先出的线性表D)栈是先进后出的线性表

7. 设有右列二叉树:对此二叉树中序遍历的结构为( )

A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA

8. 在深度为5的满二叉树中,叶子结点的个数为()

A)32 B)31 C)16 D)15

9. 对长度为n的线性表进行顺序查找,在最坏情况下所需要比较次数为()

A)n+1 B)n C)(n+1)/2 D)n/2

10. 设树T的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。则T中的叶子结点数为( )

A)8 B)7 C)6 D)5

二、填空题

1. 在长度为n的有序线性表中进行二分查找,需要的比较次数为()。

2. 设一棵完全二叉树共有700个结点,则在该二叉树中有()个叶子结点。

3. 设一棵二叉树中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为( )。

4. 在最坏情况下,冒泡排序的时间复杂度为()。

5. 在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有()个元素。

Private Sub cmdAddAll_Click()

Dim str As String

Dim rs As New ADODB.Recordset

Dim rsNew As New ADODB.Recordset

Str=”select ID from Person where Department=’”& Me.Department & ”’”

Set rs=GetRS(str)

While Not rs.EOF

With rsNew ’添加记录

.AddNew

!YearMonth = Me.YearMonth

!Person = rs(0)

!Type = Me.TypeName

!Name = Me.OtherName

!Money = Me.Money

!Description = Me.Description

.Update

End With

rs.MoveNext

Wend

rsNew.Close

rs.Close

End Sub

Private Sub cmdAddOne_Click()

Dim str As String

Dim rs AS New ADODB.Recordset

Str = “select * from Salary_Other”

Set rs = GetRS(str)

With rs ’添加记录

.AddNew

!YearMonth = Me.YearMonth

!Person = Me.ID

!Type = Me.TypeName

!Name = Me.OtherName

!Money = Me.Money

!Description = Me.Description

.Update

End With

rs.Close

End Sub

第二章程序设计基础

程序设计方法和风格

程序设计的风格强调简单和清晰,程序必须是可以理解的。

1.设计的风格

程序设计的根本目标是要降低程序的复杂性和提高程序的可读性。

1)结构要清晰:程序编写要做到清晰第一,效率第二;要求程序是模块化结构的,每个模块内部都由顺序、选择、循环三种基本结构组成。

2)模块化:各模块的功能尽量单一。

3)设计程序时应遵循“简短朴实”的原则。

4)不好的程序宁可重写,也不要去修补。

2.语言应用的风格

1)选择合适的程序设计语言(比如数据库应用的可以用VFP和ACCESS,编写小型软件可选用VB)

2)对一些程序设计语言中的灵活度大,不易理解的语句尽量不用。

3.程序文本的风格

1)程序的层次要分明,在各层之间应采用缩进规则。

2)符号要规范,变量名的命名要遵循“常用从简,专用从繁”的原则。

3)在程序中加必要的注释。注释分序言性注释和功能性注释。

4)在程序中要合理地使用分隔符。

4.输入与输出的风格

1)在需要输入数据时,应该给出必要的提示。

2)要对输入的数据进行检验,以确认其有效性。

3)输入的步骤和操作要简单。

4)要给输出加注释。

历年真题:选择:0609(1)、0709(4)

结构化程序设计

1.结构化程序设计方法的四条原则是:自顶向下、逐步求精、模块化、限制使用goto语

句。

1)自顶向下:总体-细节;全局-局部

2)逐步求精:对复杂程序设计子目标过渡

3)模块化:总目标分成分目标,再分成小目标(模块),

4)上层模块决定做什么,下层模块告诉我们怎么做

5)限制使用goto语句:不滥用、慎使用、清晰性为目标

2.结构化程序的基本特点:以控制结构为单位,只有一个入口和一个出口,使各单位之间

的接口比较简单。

1)顺序结构:一种简单的程序设计,最基本、最常用的结构;

2)选择结构:又称为分支结构,包括简单选择和多分支选择结构,可根据条件,判断应该选择哪一条分支来执行相应的语句序列;

3)循环结构:又成为重复结构,可根据给定条件,判断是否需要重复执行某一相同程序段。

3.结构化程序设计的基本原则有:

1)使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑。

2)选用的控制结构只准许一个入口和一个出口。

3)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现。

4)程序语句组成容易识别的块,每块只有一个入口和一个出口。

5)语言中所没有的控制结构,应采用前后一致的方法来模拟。

6)严格控制goto语句的使用。

程序设计并不等于编程。编程只是程序设计整个过程中的一小步。

历年真题:选择:0804(2)、0909(6)、1103(5)

填空:0903(3)、1009(4)

面向对象的程序设计

传统结构化程序设计方法的核心是算法;面向对象的核心是对象。

1.基本概念

对象:具有属性(数据)和方法(行为方式)的实体。

类:描述的是具有相似性质的一组对象。一个具体对象称为类的实例。

方法:允许作用于某个对象上的各种操作。

消息:用来请求对象执行某一处理或回答某些信息的要求。

继承:类之间的相似性的机制。

封装:是一种信息隐藏技术,目的在于将对象的使用者和对象的设计者分开。用户只能见到对象封装界面上的信息,不必知道实现的细节。封装一方面通过数据抽象,把相关的信息结合在一起,另一方面也简化了接口。

2.面向对象方法的优点:

1)与人类习惯的思维方法一致

2)稳定性好

3)可重用性好

4)易于开发大型软件产品

5)可维护性好。

3.对象的基本特点:

1)标识惟一性

2)分类性

3)多态性

4)封装性

5)模块独立性好。

历年真题:选择:0704(4)、0709(3)、0809(7)、1009(6)、1103(10)

考题练习:

1.下列选项不符合良好程序设计风格的是:

A. 源程序要文档化

B.数据说明的次序要规范化

C. 避免滥用goto语句

D.模块设计主要保证高耦合、高内聚

2.下面描述中,符合结构化程序设计风格的是:

A. 使用顺序、选择和循环三种基本控制结构表示程序的控制逻辑

B. 模块只有一个入口,可以有多个出口

C. 注重提高程序的执行效率

D. 不使用goto语句

3.下列选项中不属于结构化程序设计方法的是:

A. 自顶向下

B. 逐步求精

C. 模块化

D. 可复用

4.下面概念中,不属于面向对象方法的是:

A. 对象

B. 继承

C. 类

D. 过程调用

5.在面向对象方法中,类的实例称为()。

6.在面向对象方法中,()描述的是具有相似属性与操作的一组对象。

习题二

一、选择题

1.结构化程序设计主要强调的是()

A. 程序的规模

B. 程序的易读性

C. 程序的执行效率

D. 程序的可靠性和可移植性

2.对建立良好的程序设计风格,下面描述正确的是()

A. 程序应简单、清晰、可读性好

B. 符号名的命名只要符合语法

C. 充分考虑程序的执行效率

D. 程序的注释可有可无

3.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送()

A. 调用语句

B. 命令

C. 口令

D. 消息

4.信息隐藏的概念与下述哪一种概念直接相关?

A. 软件结构定义

B. 模块独立性

C. 模块类型划分

D. 模块耦合度

5.下面对对象概念描述错误的是()

A. 任何对象都必须有继承性

B. 对象是属性和方法的封装体

C. 对象间的通讯靠消息传递

D. 操作是对象的动态属性

二、填空题

1.结构化程序设计的三种基本逻辑结构为()。

2.源程序文档化要求程序应加注释,注释一般分为()和()。

3.在面向对象方法中,信息隐藏是通过对象的()性来实现的。

4.类是一个支持集成的抽象数据类型,而对象是类的()。

5.在面向对象方法中,类之间共享属性和操作的机制称为()。

#include

using namespace std;

class Rectangle \\矩形类

{ int length,width;

public:

Rectangle()

{cout<<"请输入长和宽的值:";

cin>>length>>width;}

Setlw(int Nlen,int Nwid )

{length=Nlen;width=Nwid;}

Getlen()

{return length;}

Getwid()

{return width;}

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

全国计算机等级考试二级教程——公共基础知识 一、计算机的基本组成部分。 计算机由硬件和软件两部分组成,硬件包括中央处理器(CPU)、存储器、输入输出设备等;软件包括操作系统、应用软件等。 1.中央处理器(CPU):计算机的核心部件,执行所有指令。 2.存储器:存储数据和程序。 3.输入设备:把数据从外部输入到计算机中,如键盘、鼠标、扫描仪等。 4.输出设备:把计算机处理的数据输出到外部,如打印机、显示器、音响等。 二、计算机的工作原理。 计算机的工作原理可以分为5个部分:输入、存储、处理、输出和控制。 1.输入:把数据或指令输入到计算机中,通过输入设备进行输入。 2.存储:将输入的数据或指令存储在内存中。 3.处理:根据指令执行相应的操作,如计算、比较、排序等。 4.输出:将处理后的结果输出到外部,通过输出设备进行输出。 5.控制:计算机通过控制器控制各个部件的运行,以完成整个计算过程。 三、计算机的分类。

计算机按其用途和规模可以分为大型机、中型机、小型机和微型计算机。 1.大型机:主要用于大型企业和政府机关,可以同时处理多个用户的请求,性能强劲。 2.中型机:主要用于中小型企业,相对于大型机规模和性能较小。 3.小型机:主要针对个体户、小企业和办公室等,处理能力比微型计算机强。 4.微型计算机:用于一般個人用戶和小型企业,具有价格低廉、体积小及易操作的特点,性能相对其他计算机较弱。 四、操作系统。 操作系统是管理计算机硬件和软件资源的程序,它在计算机的各个层次上进行控制和管理,包括处理器的管理、内存的管理、文件系统的管理等等。 常见的操作系统有:Windows、Linux、Unix、Android等。 五、计算机网络。 计算机网络是指把分布在不同地点的计算机集成在一起,实现资源共享和信息传输的系统。 计算机网络的分层体系结构一般被分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中物理层和数据链路层主要负责数据传输的物理和链路层面的工作;网络层和传输层负责数据传输的网络和传输方面的工作;会话层、表示层和应用层则负责数据传输的高层次工作。。

计算机二级公共基础知识整理(完整版)

第一章数据结构与算法 经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。 详细重点学习知识点: 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.算法的空间复杂度 算法的空间复杂度是指执行这个算法所需要的内存空间。 一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。如果额外空间量相对于问题规模来说是常数,则称该算

全国计算机二级office公共基础知识资料

计算机的发展、类型及其应用领域。 1. 计算机(computer)是一种能自动、高速进行大量算术运算和逻辑运算的电子设备。其特点为:速度快、精度高、存储容量大、通用性强、具有逻辑判断和自动控制能力。 2.第一台计算机:ENIAC,美国,1946年宾夕法尼亚大学冯·诺依曼“存储程序”和“程序控制” 3. 冯·诺依曼思想的核心要点是:1)计算机的基本结构应由五大部件组成:运算器、控制器、存储器、输入设备和输出设备。2)计算机中应采用二进制形式表示数据和指令。3)采用“存储程序”和“程序控制”的工作方式。 4. 计算机的发展过程 5.主要特点:运算速度快、精确度高、具有记忆和逻辑判断能力 6.计算机的主要应用科学计算:例如:气象预报、海湾战争中伊拉克导弹的监测数据处理:例如:高考招生中考生录取与统计工作,铁路、飞机客票的预定系统,银行系统的业务管理计算机控制计算机辅助系统:例如:用CAI演示化学反应人工智能:例如:代替人类到危险的环境中去工作办公自动化系统中的应用:例如:Internet发email CBE:计算机辅助教育CAI:计算机辅助教学CMI:计算机管理教学CAD:计算机辅助设计CAT:计算机辅助翻译CAM:计算机辅助制造CAE:计算机辅助工程 7.计算机的分类:1)、根据规模大小分类:巨型机、大型机、微机、工作站、服务器2)、根据用途分类:通用计算机、专用计算机3)、根据计算机处理数据的类型:模拟计算机、数字计算机、数字与模拟计算机 计算机软硬件系统的组成及主要技术指标。

计算机硬件系统均由运算器、控制器、存储器、输入设备和输出设备五大部分构成 运算器:算术运算和逻辑运行的实际执行部件。 控制器:统一指挥和控制计算机各部件按时序协调操作的部件 中央处理器-CPU=运算器+控制器是计算机的核心部件 内部存储器按其存储信息的方式可以分为只读存储器ROM(Read Only Memory)、随机存储器RAM(Random Access Memory)和高速缓冲存储器Cache RAM:随机存储器能读能写,断电后信息丢失 DRAM: 动态RAM,相当于CACHE(高速缓冲存储器) CACHE: CPU与内存之间速度不彼配的问题 SRAM:静态RAM ROM:只读存储器能读不能写,断电后信息不丢失 输入设备:键盘、鼠标、扫描仪、光笔 输出设备:显示器、音箱、打印机、绘图仪 总线:数据总线、地址总线、控制总线 软件:由程序、数据和文档三部分内容组成。 程序:是一系列有序指令的集合。 计算机之所以能够自动而连续地完成预定的操作,就是运行特定程序的结果。计算机程序通常是由计算机语言来编制,编制程序的工作称为程序设计。 数据:指各种信息集合,数值的与非数值的。 文档:用自然语言(汉语或英语)对程序进行描述的文本称为文档。 1.系统软件:是指管理、监控和维护计算机资源(包括硬件和软件)的软件。系统软件主要包括操作系统、各种语言处理程序、数据库管理系统、网络系统及服务性程序。核心是:操作系统、语言处理程序和各种服务性程序。(1) 操作系统:操作系统是管理、控制计算机的软、硬件和数据资源的大型程序,是用户和计算机之间的接口,并提供了软件的开发和

计算机二级公共基础知识讲义

公共基础在所有的二级考试科目中都占30分。在试卷当中,前十道选择题和前五道填空题均是公共基础内容。 公共基础讲义 数据结构与算法(约占10分) 程序设计基础(约占4分) 软件工程基础(约占8分) 数据库设计基础(约占8分) 第一章数据结构基础 本章内容提要 ●算法:算法的基本概念、算法复杂度 ●数据结构的基本概念:什么是数据结构、数据结构的图形表示、线性结构与非线 性结构 ●线性表及其顺序存储结构:线性表的基本概念、顺序存储结构、插入运算、删除 运算 ●栈和队列:栈及其基本运算、队列及其基本运算 ●线性链表:基本概念、基本运算、循环链表及其基本运算 ●树与二叉树:树的基本概念、二叉树及其基本性质、二叉树的存储结构、二叉树 的遍历 ●查找技术:顺序查找、二分法查找 ●排序技术:交换类排序法、插入类排序法、选择类排序法 算法 1.算法的基本概念:算法是解题方案的准确而完整的描述。 算法规定了解决某类问题所需的操作语句以及执行顺序,使其能够通过有限的指令语句,在一定时间内解决问题。 算法是一个操作序列,有限长度,目的是解决某类问题。

注意:(1)算法不等同于程序:因为程序的编制不可能由于算法的设计; (2)算法也不等同于数学上的计算方法:因为很多数学计算公式也许无法在计算机上实现。 2.算法的基本特征(算法具有动态性):可行性、确定性、有穷性、拥有足够的情报(指 的是有输入有输出) 在设计一个算法时,必须要考虑算法的执行过程保证结果的可靠性。 3.算法的基本要素: 第一要素:对数据对象的运算和操作 1)算术运算 + - * / 2)逻辑运算 NOT AND OR 3)关系运算 > < <> 4)数据传输赋值,输入与输出 第二要素:算法的控制结构(决定了算法中各操作的执行顺序) 顺序、选择、循环 4.算法设计的基本方法(计算机解题的过程实际上是在实施某种算法) 1)列举法(列举所有解决方案) 根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。 2)归纳法(特殊 -> 一般)适合于列举量为无限的情况 通过列举少量的特殊情况,经过分析,最后找出一般的关系。 3)递推法(已知 -> 未知) 从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。 4)递归法(逐层分解) 将一个复杂的问题归结为若干个较简单的问题,然后将这些较简单的每一个问题再归结为更简单的问题…… 5)减半递推法(对问题分而治之) “减半”是指将问题的规模减半,而问题的性质不变。所谓“递推”是指重复“减半”的过程。 6)回溯法 复杂应用,找出一个解决问题的线索,然后沿着这个线索逐步多次“探、试”。 5.算法的复杂度(一个算法所要付出的代价) 算法的复杂度可分为:时间复杂度和空间复杂度 算法的复杂度是衡量算法好坏的量度。 1)时间复杂度 概念:指执行算法所需要的计算工作量(即算法的运算次数)。 含义:算法执行过程中所需要的基本运算次数。 影响计算工作量的主要因素:

全国计算机二级c公共基础知识总结(讲解)

二级公共基础知识总结 1.7 查找技术 顺序查找的使用情况: (1)线性表为无序表; (2)表采用链式存储结构。 n的有序线性表,最坏情况只需比较 1.8 排序技术 排序是指将一个无序序列整理成按值非递减顺序排列的有序序列。 交换类排序法:(1)冒泡排序法,需要比较的次数为(2)快速排序法。 插入类排序法:(1)简单插入排序法,最坏情况需要(2)希尔排序法, 最坏情况需要 选择类排序法:(1)简单选择排序法, 最坏情况需要(2)堆排序法,最 坏情况需要 第二章程序设计基础 2.1 程序设计设计方法和风格 如何形成良好的程序设计风格 1、源程序文档化; 2、数据说明的方法; 3、语句的结构; 4、输入和输出。 2.2 结构化程序设计 结构化程序的基本结构和特点:

(1)顺序结构:一种简单的程序设计,最基本、最常用的结构; (2)选择结构:又称分支结构,包括简单选择和多分支选择结构,可根据条件,判断应该选择哪一条分支来执行相应的语句序列; (3)循环结构:可根据给定条件,判断是否需要重复执行某一相同程序段。 2.3 面向对象的程序设计 面向对象的程序设计:以60年代末挪威奥斯陆大学和挪威计算机中心研制的SIMULA语言为标志。 面向对象方法的优点: (1)与人类习惯的思维方法一致; (2)稳定性好; (3)可重用性好; (4)易于开发大型软件产品; (5)可维护性好。 抽象。 面向对象的程序设计方法中的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性和它可执行的一组操作组成。 对象的基本特点: (1)标识惟一性;(2)分类性;(3)多态性;(4)封装性; (5)模块独立性好。 实例。 消息的组成包括(1)接收消息的对象的名称;(2)消息标识符,也称消息名;(3)零个或多个参数。 继承分单继承和多重继承。单继承指一个类只允许有一个父类,多重继承指一个类允许有多

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

全国计算机二级公共基础知识汇总 计算机二级公共基础知识是计算机专业人员必备的基本知识,包括计算机基本原理、操作系统、网络原理、数据库原理和计算机应用等方面的知识。下面是全国计算机二级公共基础知识的完整汇总。 一、计算机基本原理:计算机硬件的组成和工作原理,包括中央处理器、存储器、输入输出设备等。 1.中央处理器:控制计算机的运算和控制活动,包括运算单元和控制单元。 2.存储器:计算机的主要组成部分,包括内存和外存。 3.输入输出设备:与计算机进行交互的设备,包括键盘、鼠标、显示器、打印机等。 二、操作系统:计算机的核心软件,负责管理和控制计算机的资源。 1.操作系统的功能:包括进程管理、内存管理、文件管理、设备管理和用户界面等。 2. 常见的操作系统:Windows、Linux、Unix等。 三、网络原理:计算机网络的基本原理和常用协议,包括网络拓扑、网络协议和安全性等。 1.网络拓扑:指网络中计算机的物理连接方式,包括星型、总线型、环型等。 2.网络协议:指计算机网络中不同计算机之间通信的规则和约定,常见的协议有TCP/IP、HTTP、FTP等。

3.网络安全性:指保护计算机网络不受到非法侵入和攻击的能力,包括防火墙、加密技术等。 四、数据库原理:数据库的基本原理和常用操作,包括数据模型、关系数据库和SQL语言等。 1.数据模型:指描述数据结构、数据操作和数据约束的概念工具,常见的数据模型有层次模型、网状模型和关系模型等。 2. 关系数据库:采用关系模型进行数据组织和管理的数据库,常见的关系数据库有Oracle、MySQL、SQL Server等。 3.SQL语言:结构化查询语言,用于对关系数据库进行查询、更新和管理。 五、计算机应用:计算机在不同领域应用的基本知识,包括办公软件、图像处理、网页设计等。 1.办公软件:包括文字处理、电子表格和演示文稿等。 3. 网页设计:指网页的布局、设计和开发,需要掌握HTML、CSS和JavaScript等技术。 以上就是全国计算机二级公共基础知识的完整汇总。这些知识包括计算机基本原理、操作系统、网络原理、数据库原理和计算机应用等方面的内容,对于计算机专业人员来说,掌握这些知识是非常重要的。

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

2024计算机二级公共基础知识完整 计算机二级公共基础知识包括计算机硬件、操作系统、网络和网络安全、办公应用和多媒体等方面的基本知识。下面将对这些基础知识依次进 行详细介绍。 首先是计算机硬件方面的知识。计算机硬件包括中央处理器(CPU)、内存、硬盘、主板等等。对于CPU,需要了解它是计算机的核心组件,负 责执行计算机的指令和控制计算机的运行。内存则用于存储计算机当前正 在运行的程序和数据,比较重要的是了解RAM和ROM的区别,RAM用于临 时存储数据和程序,而ROM则用于存储一些固定的程序和数据。硬盘则是 计算机的存储设备,用于长期存储数据和程序。主板是计算机中最重要的 零部件之一,它将CPU、内存、硬盘等组件连接起来,同时还提供了各种 扩展接口,如USB接口、显卡插槽等。 其次是操作系统方面的知识。操作系统是计算机的核心软件,它负责 管理计算机的硬件资源,同时提供了与硬件交互的界面。常见的操作系统 包括Windows、Linux、Mac OS等。需要了解操作系统的安装和配置,如 磁盘分区、文件系统等。同时还要了解操作系统的基本功能,如进程管理、文件管理、内存管理等。此外,还需要了解操作系统的常见问题和故障排 除方法。 接下来是网络和网络安全方面的知识。网络是计算机之间进行数据传 输的基础设施,需要了解局域网和广域网的区别,以及常见的网络设备, 如交换机、路由器等。此外,还需要了解网络协议,如TCP/IP协议、HTTP协议等。网络安全是保护计算机网络和数据的重要工作,需要了解 常见的网络攻击方式,如病毒、木马、网络钓鱼等,以及常见的网络安全 防护措施,如防火墙、网络加密等。

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

全国计算机等级考试二级教程公共基础知识计算机已经成为了人们工作和生活的必备工具,掌握一定的计算机 知识已经成为了现代人的基本素养。而全国计算机等级考试(NCRE) 作为国内计算机能力认证的重要标准,对于很多计算机专业人士来说 具有很大的意义。在NCRE二级考试中,公共基础知识是一个非常重 要的部分,本文将为大家介绍几个常见的公共基础知识,并提供一些 备考建议。 1. 计算机硬件基础知识 计算机硬件是计算机系统的物理实体,包括了中央处理器(CPU)、内存(RAM)、硬盘、显示器、键盘等部件。理解计算机硬件的基本 原理和结构对于理解计算机工作原理至关重要。建议备考学员关注计 算机硬件的主要组成部分以及它们之间的相互关系,同时了解各个部 件的功能和特点。 2. 操作系统 操作系统是计算机系统中的核心软件,它负责管理和控制计算机的 硬件和软件资源,并提供良好的用户界面。备考学员需要熟悉各个常 见的操作系统的特点和功能,比如Windows、Linux、Mac OS等。此外,学员还应了解操作系统的基本操作,比如文件管理、进程管理、 网络配置等。 3. 网络基础知识

随着互联网的普及,网络基础知识已经成为了计算机考试的重要部分。备考学员需要熟悉常见的网络协议和网络拓扑结构,比如TCP/IP 协议、HTTP协议、局域网、广域网等。此外,了解网络安全和网络管理的基本知识也是非常重要的。 4. 数据库基础知识 数据库是计算机存储和管理数据的重要工具,备考学员需要了解数据库的基本概念和原理,比如数据库的组成、常见的数据库类型(如关系型数据库、非关系型数据库等)、SQL语言等。熟悉数据库的使用和管理对于备考学员来说也是非常有帮助的。 5. 编程基础知识 编程是计算机科学的核心内容之一,备考学员需要了解常见的编程语言和开发环境,比如C、Java、Python等。掌握编程语言的基本语法和常用的算法和数据结构对于备考学员来说是非常重要的。此外,了解软件开发的基本流程和方法也是备考学员需要掌握的知识点。 备考建议: 1. 扎实基础知识:在备考过程中,学员应该注重扎实公共基础知识的学习和掌握。通过贯彻理论联系实际的学习方法,帮助学员理解和掌握知识点,并能够灵活运用。 2. 多做练习题:考试中的选择题和判断题是对学员理论知识掌握情况的考查,因此,备考学员应该多做练习题,加强对知识点的理解和记忆。

2021计算机二级公共基础知识pdf

2021计算机二级公共基础知识pdf 标题:2021计算机二级公共基础知识PDF:全面解读与学习指南 引言概述: 计算机二级公共基础知识考试是计算机专业人士的重要考试之一。为了帮助广大考生更好地备考和应对这一考试,本文将全面解读2021计算机二级公共基础知识PDF,从五个大点进行详细阐述,为考生提供全面的学习指南。 正文内容: 1. 软件基础知识 1.1 软件的定义和分类 详细阐述软件的定义以及常见的软件分类,如系统软件、应用软件、开发工具等。通过了解不同类型的软件,考生可以对软件的功能和应用有更清晰的认识。 1.2 软件的安装与卸载 介绍软件的安装与卸载方法,包括常见的安装程序和卸载程序的使用,以及注意事项和常见问题的解决方法。这些知识对于考生在实际操作中的灵活运用至关重要。 1.3 软件的更新与升级 详细阐述软件的更新与升级的概念和方法,包括手动更新和自动更新的区别,以及如何选择适合自己的更新方式。同时,还应该提及软件升级的重要性和注意事项。 2. 硬件基础知识 2.1 计算机硬件的组成

介绍计算机硬件的基本组成,包括主板、CPU、内存、硬盘、显卡等各个部件的作用和相互关系。通过对硬件的了解,考生可以更好地理解计算机的工作原理。 2.2 输入输出设备 详细介绍常见的输入输出设备,如键盘、鼠标、显示器、打印机等,包括设备的功能、连接方式和使用注意事项。对于考生来说,熟悉输入输出设备的使用是必不可少的。 2.3 存储设备 阐述计算机的存储设备,包括硬盘、光盘、U盘等,介绍它们的特点、使用方法以及数据的存储与传输。对于备份和存储重要数据,考生需要了解不同存储设备的特点和适用场景。 3. 网络基础知识 3.1 网络的定义和分类 介绍网络的基本概念和分类,如局域网、广域网、互联网等,以及它们的特点和应用场景。了解网络的基本知识,有助于考生理解计算机网络的工作原理。 3.2 网络协议与通信 详细阐述常见的网络协议和通信方式,如TCP/IP协议、HTTP协议、FTP协议等,以及它们的作用和使用方法。考生需要掌握网络协议和通信的基本知识,以便在网络环境下进行数据传输和通信。 3.3 网络安全与防护 介绍网络安全的基本概念和常见的安全威胁,如病毒、黑客攻击等,以及防护措施和安全管理的方法。考生需要了解网络安全的重要性,并学会使用安全防护工具保护自己的计算机和数据安全。

全国计算机二级公共基础知识(打印版)

全国计算机二级公共基础知识(重点部分) 第一章 数据结构基础 1.1算法 1.1.1 算法的基本概念 算法是解题方案的准确而完整的描述,它不等于程序,也不等计算方法。 算法的基本特征 可行性(effectiveness) 确定性(definiteness) 有穷性(finiteness) 拥有足够的情报 算法的时间复杂度 执行算法所需要的计算工作量 与下列因素有关: 书写算法的程序设计语言 ,编译产生的机器语言,代码质量 机器执行指令的速度 ,问题的规模 问题的规模函数 算法的工作量=f(n) 算法中基本操作重复执行的频率T(n),是问题规模n 的某个函数f(n),记作:T(n)=O(f(n)) 记号“O ”读作“大O ”。表示随问题规模n 的增加,算法执行时间的增长率和f(n)相应增加。 常见算法复杂度: O(1):常数阶 O(n):作线性阶 O(n2):平方阶 O(n3):立方阶 O(logn):对数阶 O(2n):指数阶 算法的空间复杂度 算法执行过程中所需的最大存储空间 存储量包括以下三部分 算法程序所占的空间 ,输入的初始数据所占的存储空间 ,算法执行过程中所要的额外空间 1.2 数据结构的基本概念 数据的逻辑结构 对数据元素之间的逻辑关系的描述 只抽象地反映数据元素之间的逻辑关系,与计算机中的存储无关 数据的存储结构 数据的逻辑结构在计算机存储空间中的存放形式 常用的存储结构:顺序, 链式, 索引 一种数据结构可根据需要采用不同的存储结构。采用不同的存储结构,其数据处理的效率是不同 线性结构 如果一个非空数据结构满足下列两个条件: 有且只有一个根结点; 每一个结点最多有一个前件,也最多有一个后件。 常见的线性结构有:线性表、栈与队列、线性链表 非线性结构 1.数据的逻辑结构 2、数据的存储结构 3、数据的运算:检索、排序、插入、删除、修改等。 A .线性结构 B .非线性结构 A 顺序存储 B 链式存储 线性表 栈 队 树形结构 图形结构 数据结构的三个方面

(2021年整理)计算机二级公共基础知识

计算机二级公共基础知识 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(计算机二级公共基础知识)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为计算机二级公共基础知识的全部内容。

第一章数据结构与算法 1。算法 算法:是指解题方案的准确而完整的描述。 算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。 算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。 算法的三种基本控制结构:顺序结构、选择结构、循环结构。算法复杂度包括:算法时间复杂度和算法空间复杂度。 算法时间复杂度是指执行算法所需要的计算工作量. 算法空间复杂度是指执行这个算法所需要的内存空间. 案例0。算法的有穷性是指(D) A.算法只能被有限的用户使用 B.算法程序的长度是有限的 C。算法程序所处理的数据量是有限的 D.算法程序的运行时间是有限的 案例1。下列叙述中正确的是(BG) A.一个算法的时间复杂度大,则其空间复杂度必定小 B.算法的时间复杂度与空间复杂度没有直接关系 C。一个算法的空间复杂度大,则其时间复杂度也必定大 D。算法的时间复杂度与空间复杂度一定相关 E.算法的效率只与问题的规模有关,而与数据的存储结构无关F。数据的逻辑结构与存储结构是一一对应的 G。算法的时间复杂度是指执行算法所需要的计算工作量 2。栈及其基本运算

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

全国计算机二级公共基础知识点整理 一、计算机基本操作与管理 1. 计算机系统组成及基本原理 2. 计算机硬件设备及其功能 3. 操作系统及其常用功能 4. 常见办公软件的使用与操作 5. 网络基础知识及网络应用 二、计算机网络与网络应用 1. 网络概述及基本概念 2. 网络通信协议与技术 3. 互联网应用与网络安全 4. 局域网和广域网的搭建与管理 5. 常用网络设备的配置与管理 三、多媒体技术与应用 1. 图形图像处理基础 2. 声音与视频处理技术 3. 多媒体技术的应用与开发 4. 数字媒体的存储与传输 5. 常用多媒体软件的使用与操作 四、数据库与数据管理

1. 数据库基本概念及模型 2. 数据库的设计与管理 3. 数据库查询与应用 4. 数据库安全与备份 5. 数据库管理工具的使用与操作 五、计算机程序设计基础 1. 程序设计基本概念与方法 2. 常见编程语言及其特点 3. 程序开发环境与工具 4. 程序流程控制与函数调用 5. 程序调试与错误处理 六、信息系统基础知识 1. 信息系统的基本概念与结构 2. 信息系统分析与设计方法 3. 信息系统的开发与维护 4. 信息系统的安全与管理 5. 信息系统的应用与发展趋势 七、办公自动化与信息处理 1. 办公自动化系统与应用 2. 电子邮件与办公信息管理 3. 文档处理与信息发布

4. 数据处理与统计分析 5. 信息的获取与利用 八、计算机硬件与操作系统 1. 计算机硬件的基本组成与功能 2. 计算机操作系统的基本原理 3. 操作系统的安装与配置 4. 硬件设备的安装与维护 5. 硬件设备的故障排除与修复 九、信息安全与网络管理 1. 信息安全的基本概念与原理 2. 网络安全技术与措施 3. 网络管理与维护 4. 网络故障排除与修复 5. 网络性能优化与提升 十、计算机应用基础知识 1. 计算机应用的基本概念与特点 2. 常用办公软件的功能与应用 3. 图像处理软件的功能与应用 4. 数据库管理软件的功能与应用 5. 网络应用软件的功能与应用

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

全国计算机二级公共基础知识 第一章数据结构与算法 经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。 详细重点学习知识点: 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.算法的时间复杂度

2023年计算机等级考试二级公共基础知识辅导讲义

全国计算机等级考试——二级公共基础知识辅导讲义 第一章数据构造与算法 1.1 算法 1 描述。 *:算法不等于程序,也不等于计算措施。程序旳编制不可能优于算法旳设计。 2、算法旳基本特性 (1)可行性。针对实际问题而设计旳算法,执行后可以得到满意旳成果。 (2)确定性。每一条指令旳含义明确,无二义性。并且在任何条件下,算法只有唯一旳一条执行途径,即相似旳输入只能得出相似旳输出。 (3)有穷性。算法必须在有限旳时间内完成。有两重含义,一是算法中旳操作步骤为有限个,二是每个步骤都能在有限时间内完成。 (4)拥有足够旳情报。算法中多种运算总是要施加到各个运算对象上,而这些运算对象又可能具有某种初始状态,这就是算法执行旳起点或根据。因此,一种算法执行旳成果总是与输入旳初始数据有关,不一样旳输入将会有不一样旳成果输出。当输入不够或输入错误时,算法将无法执行或执行有错。一般说来,当算法拥有足够旳情报时,此算法才是有效旳;而当提供旳情报不够时,算法可能无效。 *:综上所述,所谓算法,是一组严谨地定义运算次序旳规则,并且每一种规则都是有效旳,且是明确旳,此次序将在有限旳次数下终止。

3、算法复杂度重要包括时间复杂度和空间复杂度。 (1)算法时间复杂度是指执行算法所需要旳计算工作量,可以用执行算法旳过程中所需基本运算旳执行次数来度量。 (2 1.2 数据构造旳基本概念 1 2、数据构造重要研究和讨论如下三个方面旳问题: (1)数据集合中各数据元素之间所固有旳逻辑关系,即数据旳逻辑构造。 数据旳逻辑构造包括:1)表达数据元素旳信息;2)表达各数据元素之间旳前后件关系。(2)在对数据进行处理时,各数据元素在计算机中旳存储关系,即数据旳存储构造。 数据旳存储构造有次序、链接、索引等。 1)次序存储。它是把逻辑上相邻旳结点存储在物理位置相邻旳存储单元里,结点间旳逻辑关系由存储单元旳邻接关系来体现。由此得到旳存储表达称为次序存储构造。 2)链接存储。它不规定逻辑上相邻旳结点在物理位置上亦相邻,结点间旳逻辑关系是由附加旳指针字段表达旳。由此得到旳存储表达称为链式存储构造。 3)索引存储:除建立存储结点信息外,还建立附加旳索引表来标识结点旳地址。 *:数据旳逻辑构造反应数据元素之间旳逻辑关系,数据旳存储构造(也称数据旳物理构造)是数据旳逻辑构造在计算机存储空间中旳寄存形式。同一种逻辑构造旳数据可以采用不一样旳存储构造,但影响数据处理效率。 (3)对多种数据构造进行旳运算。

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

计算机二级公共基础知识重点 计算机二级公共基础知识重点 计算机二级公共基础知识 一、数据结构与算法 1.1.1 数据结构的基本概念 数据结构指相互有关联的数据元素的集合。数据逻辑结构反映数据元素之间的逻辑关系;存储结构为数据的逻辑结构在计算机存储空间中的存放形式,分为顺序存储、链式存储、索引存储和散列存储4种方式。 数据结构按各元素之间前后件关系的复杂度可划分为如下两种: (1)线性结构:有且只有一个根节点,且每个结点最多有一个直接前驱和一个直接后继的非空数据结构。 (2)非线性结构:不满足线性结构的数据结构。 1.1.2 算法 1. 算法的基本概念 (1)概念:算法是指解题方案的准确而完善的描述。 (2)基本特征:可行性、确定性、有穷性、拥有足够的情报。 (3)基本要素:对数据对象的运算和操作、算法和控制结构。 (4)设计的基本方法:列举法、归纳法、递推法、递归法、减半递推技术、回溯法。 2. 算法的复杂度 (1)算法的时间复杂度:执行算法所需要的计算工作量。 (2)算法的空间复杂度:执行算法所需的内存空间。 1.1.3 线性表及其顺序存储结构 1. 线性表的基本概念 线性结构又称线性表,线性表是最简单也是最常用的一种数据结构。 2. 线性表的顺序存储结构 顺序存储结构的特点如下:

(1)元素所占的存储空间必须连接。 (2)元素在存储空间的位置是按逻辑顺序依次存放的。 3. 线性表的插入运算 若在第i 个元素之前插入一个新元素,可先把原来第i 个结点至第n 个结点依次往后移一个元素位置。然后把新结点放在第i 个位置上,最后修正线性表的结点个数。 4. 线性表的删去运算 若要删去第i 个位置的元素,可先把第i 个之后不包括第i 个元素的n-i 个元素依次前移一个位置,然后修正线性表的结点数。 1.1.4 栈和列队 1. 栈及其基本运算 栈是一种特殊的线性表,其插入运算与删除运算都只在线性表的一端进行,又称为先进后出表或后进先出表。 栈顶是允许插入与删除的一端,而栈底是栈顶的另一端。 所谓空栈就是栈中没有元素的栈。栈的特点如下: (1)栈顶元素师最后被插入和最早被删除的元素。 (2)栈底元素师最早被插入和最后被删除的元素。 (3)栈有记忆的作用。 (4)在顺序存储结构下,栈的插入和删除运算不需移动表中其他数据元素。 (5)栈顶指针top 动态反映了栈中元素的变化情况。 顺序存储和运算包括人栈运算、退栈运算和读栈顶运算。 2. 列队及其基本运算 队列是指允许在一端进行插入,在另一端进行删除的线性表、又称“先进先出”的线性表。队尾就是允许插入的一端,一般用尾指针指向队尾元素。 排头就是允许删除的一端,一般用头指针指向头元素的前一位置。 循环列队及其运算包括入队运算与退队运算。 1.1.5 树与二叉树 1. 树的基本概念

计算机二级考试公共基础知识精讲

计算机二级考试公共基础知识精讲 2019年计算机二级考试公共基础知识精讲 数据结构与算法 1.算法是指对解题方案的准确而完整的描述,简单地说,就是解决问题的操作 步骤。 2.算法不等于数学上的计算方法,也不等于程序。 3.在编程时由于要受到计算机系统运行环境的限制,因此,程序的编制通常不 可能优于算法的设计。 4.算法的基本特征: ●可行性:算法在特定的执行环境中执行应当能够得出满意的结果,即必 须有一个或多个输出。 ●确定性:算法中每一步的描述都是明确的,没有多义性。 ●有穷性:法中的操作步骤为有限个,且每个步骤都能在有限时间内完成。 ●拥有足够的情报:一般来说,算法在拥有足够的输入信息和初始化信息 时,才是有效的;当提供的情报不够时,算法可能无效。 5.一个算法通常由两种基本要素组成: ●对数据对象的运算和操作; ●算法的控制结构,即运算或操作间的顺序。 6.在计算机上,可以直接执行的基本操作通常都是用指令来描述的,每个指令 代表一种或几种操作。 7.指令系统一个计算机系统能执行的所有指令的集合,称为计算机的指令系统。 8.指令系统是软件与硬件分界的一个主要标志,是软件与硬件之

间相互沟通的 桥梁。 9.算法就是按解题要求从指令系统中选择合适的指令组成的指令序列。 10.算法的控制结构是算法中各个操作之间的执行顺序。 11.算法一般是由顺序、选择(又称分支)和循环(又称重复)3种基本结构组 合而成。 12.描述算法的工具有传统的流程图、N-S结构化流程图和算法描述语言等。 13.常用的几种算法设计方法有列举法、归纳法、递推法、递归法、减半递推技 术和回溯法。 14.一个算法的复杂度高低体现在运行该算法所需要的计算机资源的多少,所需 的资源越多,就说明该算法的复杂度越高;反之,所需的资源越少,则该算法的复杂度越低。计算机的资源,最重要的是时间和空间(即存储器)资源。 15.算法复杂度包括算法的时间复杂度和算法的空间复杂度。 16.算法的时间复杂度是指执行算法所需要的计算工作量。 17.值得注意的是:算法程序执行的具体时间和算法的时间复杂度并不是一致的。 算法程序执行的具体时间受到所使用的计算机、程序设计语言以及算法实现过程中的许多细节所影响。而算法的时间复杂度与这些因素无关。 18.算法的计算工作量是用算法所执行的基本运算次数来度量的。 19.可以用以下两种方法来分析算法的工作量: ●平均性态; ●最坏情况复杂性。 20.算法的空间复杂度是指执行这个算法所需要的内存空间。

二级公共基础知识计算机基础知识(必看)资料

第一部分公共基础知识 第1章数据结构与算法 1.1算法 1.算法的基本概念 (1)概念:算法是指一系列解决问题的清晰指令。 (2)4个基本特征:可行性、确定性、有穷性、拥有足够的情报。 (3)两种基本要素:对数据对象的运算和操作、算法的控制结构(运算和操作时间的顺序)。 (4)设计的基本方法:列举法、归纳法、递推法、递归法、减半递推技术和回溯法。 2.算法的复杂度 (1)算法的时间复杂度:执行算法所需要的计算工作量。 (2)算法的空间复杂度:执行算法所需的内存空间。 1.2数据结构的基本概念 数据结构指相互有关联的数据元素的集合,即数据的组织形式。其中逻辑结构反映数据元素之间逻辑关系;存储结构为数据的逻辑结构在计算机存储空间中的存放形式,有顺序存储、链式存储、索引存储和散列存储4种方式。 数据结构按各元素之间前后件关系的复杂度可划分为: (1)线性结构:有且只有一个根节点,且每个节点最多有一个直接前驱和一个直接后继的非空数据结构。 (2)非线性结构:不满足线性结构的数据结构。 1.3线性表及其顺序存储结构 1.线性表的基本概念 线性结构又称线性表,线性表是最简单也是最常用的一种数据结构。 2.线性表的顺序存储结构 ·元素所占的存储空间必须连续。 ·元素在存储空凤的位置是按逻辑顺序存放的。 3.线性表的插入运算 在第i个元素之前插入一个新元素的步骤如下: 步骤一:把原来第n个节点至第i个节点依次往后移一个元素位置。 步骤二:把新节点放在第i个位置上。 步骤三:修正线性表的节点个数。 在最坏情况下,即插入元素在第一个位置,线性表中所有元素均需要移动。 4.线性表的删除运算 删除第i个位置的元素的步骤如下: 步骤一:把第i个元素之后不包括第i个元素的n—i个元素依次前移一个位置; 步骤二:修正线性表的结点个数。 1.4栈和队列 1.栈及其基本运算 (1)基本概念:栈是一种特殊的线性表,其插入运算与删除运算都只在线性表的一端进行,也被称为“先进后出”表或“后进先出”表。 ·栈顶:允许插入与删除的一端。 ·栈底:栈顶的另一端。 ·空栈:栈中没有元素的栈。 (2)特点。 ·栈顶元素是最后被插入和最早被删除的元素。 ·栈底元素是最早被插入和最后被删除的元素。 ·栈有记忆作用。

2021年计算机二级公共基础知识资料

二级共公基本知识 第一章数据构造与算法 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 线性链表 数据构造中每一种结点相应于一种存储单元,这种存储单元称为存储结点,简称结点。 结点由两某些构成:(1)用于存储数据元素值,称为数据域;(2)用于存储指针,称为指针域,用于指向前一种或后一种结点。 在链式存储构造中,存储数据构造存储空间可以不持续,各数据结点存储顺序与数据元素之间逻辑关系可以不一致,而数据

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