搜档网
当前位置:搜档网 › 二级公共基础知识

二级公共基础知识

二级公共基础知识
二级公共基础知识

好消息!华夏培训在线录有史上最通俗易懂的全国计算机二级C语言教程、二级C语言上机包过教程、三级网络技术上机包过教程(含数据库技术、信息管理技术),该教程基本可100%命中对应上机试题,同学可到华夏培训在线官方网站https://www.sodocs.net/doc/a46615818.html,直接在线免费听课并下载上机题库,华夏培训在

1.1 算法

一、算法的基本概念

算法:是指解题方案的准确而完整的描述。算法不等于程序,也不等计算方法,程序可以作为算法的一种描述。(算法也可以用流程图、专门的描述语言、自然语言来描述。)

1、算法的基本特征:

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

(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;

(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;

(4)拥有足够的情报,要使算法有效必需为算法提供足够的情报当算法拥有足够的情报时,此算法才最有效的;而当提供的情报不够时,算法可能无效。

2、算法的基本要素

算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。

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

在计算机系统中,基本的运算和操作有以下4类:

①算术运算:主要包括加、减、乘、除等运算;

②逻辑运算:主要包括“与”、“或”、“非”等运算;

③关系运算:主要包括“大于”、“小于”、“等于”、“不等于”等运算;

④数据传输:主要包括赋值、输入、输出等操作。

(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。

描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。

3、算法设计的基本方法

(1)列举法

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

(2)归纳法

归纳就是通过观察一些简单而特殊的情况,最后总结出一般性的结论。

(3)递推

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

(4)递归

人们在解决一些复杂问题时,为了降低问题的复杂程度(如问题的规模等),一般总是将问题逐层分解,最后归结为一些最简单的问题。这种将问题逐层分解的过程,实际上并没有对问题进行求解,而只是当解决了最后那些最简单的问题后,再沿着原来分解的逆过程逐步进行综合,这就是递归的基本思想。

递归分为直接递归与间接递归两种。

(5)减半递推技术

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

(6)回溯法

在工程上,有些实际问题很难归纳出一组简单的递推公式或直观的求解步骤,并且也不能进行无限的列举。对于这类问题,一种有效的方法是“试”。通过对问题的分析,找出一个解决问题的线索,然后沿着这个线索逐步试探,若试探成功,就得到问题的解,若试探失败,就逐步回退,换别的路线再逐步试探。

华夏培训在线https://www.sodocs.net/doc/a46615818.html,提供计算机二级公共基础知识、二级c语言真题、二级c语言上机真题、二级c语言笔试真题、二级c语言上机题库、二级c语言历年真题和计算机三级网络技术、三级网络技术真题、三级网络技术笔试真题、三级网络技术上机真题、三级网络技术上机题库、三级数据库技术上机题库、三级信息管理技术上机题库、三级网络技术南

二、算法的复杂度

算法复杂度:算法时间复杂度和算法空间复杂度。

1、算法的时间复杂度

算法的时间复杂度,是指执行算法所需要的计算工作量。(不直接衡量时间)

算法的工作量用算法所执行的基本运算次数来度量,只依赖于问题的规模,它是问题的规模函数。即:算法的工作量=f(n)

(1)平均性态(平均时间复杂度)

所谓平均性态是指各种特定输入下的基本运算次数的加权平均值来度量算法的工作量。

(2)最坏情况复杂性

所谓最坏情况分析,是指在规模为n时,算法所执行的基本运算的最大次数。

2、算法的空间复杂度

算法的空间复杂度是指执行这个算法所需要的内存空间。包括算法程序占用的空间、输入数据所占用的空间及算法执行过程中所需要的额外空间。

1.2数据结构的基本概念

数据结构作为计算机的一门学科,主要研究和讨论以下三个方面:

(l)数据集合中个数据元素之间所固有的逻辑关系,即数据的逻辑结构;

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

(3)对各种数据结构进行的运算。

讨论以上问题的目的是为了提高数据处理的效率,即:

(l)提高数据处理的速度;

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

一、什么是数据结构

数据结构是指反映数据元素之间的关系的数据元素集合的表示,包括数据的逻辑结构和储存结构。

1、数据的逻辑结构

数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。

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

(1)表示数据元素的信息;

(2)表示各数据元素之间的前后件关系。

可以用二元关系表示为:

B=(D,R)

其中B表示数据结构,D表示数据元素的集合,R表示D中各数据元素之间的前后关系。

例:一年四季的数据结构可以表示为:

B=(D,R)

D={春,夏,秋,冬}

R={(春夏),(夏,秋),(秋,冬)}

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

B=(D,R)

D={父亲,儿子,女儿}

R={(父亲,儿子),(父亲,女儿)}

数据的逻辑结构包括集合、线形结构、树形结构和图形结构四种。

好消息!华夏培训在线录有史上最通俗易懂的全国计算机二级C语言教程、二级C语言上机包过教程、三级网络技术上机包过教程(含数据库技术、信息管理技术),该教程基本可100%命中对应上机试题,同学可到华夏培训在线官方网站https://www.sodocs.net/doc/a46615818.html,直接在线免费听课并下载上机题库,华夏培训在

华夏培训在线https://www.sodocs.net/doc/a46615818.html, 提供计算机二级公共基础知识、二级c 语言真题、二级c 语言上机真题、二级c 语言笔

试真题、二级c 语言上机题库、二级c 语言历年真题和计算机三级网络技术、三级网络技术真题、三级网络技术笔试真题、

三级网络技术上机真题、三级网络技术上机题库、三级数据库技术上机题库、三级信息管理技术上机题库、三级网络技术南

2、数据的存储结构

数据的存储结构是指数据的逻辑结构在计算机存储空间种的存放形式。常用的存储结构有顺序、链接、

索引等存储结构。

一种数据的逻辑结构根据需要可以表示成多种存储结构,一种存储结构也可以表示多种逻辑结构。

二、 数据结构的图形表示

例:一年四季数据结构的图形表示

例:家庭成员数据结构的图形表示

方框表示数据元素值,称为结点;有向线段从前件结点指向后件结点,表示为各数据元素之间的前后

件关系。

没有前件的结点称为根结点;没有后件的结点称为终端结点(也称为叶子结点)。

三、线性结构与非线性结构

线性结构:有且只有一个根结点;每个结点最多有一个前件,最多只有一个后件。常见的线性结构有

线性表、栈、队列。

非线性结构:如果一个数据结构不是线性结构,称之为非线性结构。常见的非线性结构有树、二叉树、图等。

线性结构与非线性结构都可以是空的数据结构。对于空的数据结构,如果对该数据结构的运算是按线

性结构的规则来处理的,则属于线性结构;否则属于非线性结构。

1.3 线性表及顺序存储结构

一、线性表的基本概念

线性表是n (n ≥0)个元素构成的有限序列(a1,a2,…,an )。非空线性表有如下一些结构特征:

(1)有且只有一个根结点a1,它无前件;

(2)有且只有一个终端结点an ,它无后件;

(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。线性表中结

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

二、线性表的顺序存储结构

线性表的顺序表指的是用一组地址连续的存储单元依次存储线性表的数据元素。

线性表的顺序存储结构具备如下两个基本特征:

(l )线性表中的所有元素所占的存储空间是连续的;

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

线性表第i 个元素ai 的存储位置为 a1 a2 a3 … ai-1 ai …

an

好消息!华夏培训在线录有史上最通俗易懂的全国计算机二级C 语言教程、二级C 语言上机包过教程、三级网络技术上机包过教程(含数据库技术、信息管理技术),该教程基本可100%命中对应上机试题,

同学可到华夏培训在线官方网站https://www.sodocs.net/doc/a46615818.html, 直接在线免费听课并下载上机题库,华夏培训在

ADR (ai )=ADR (a1)+(i-1)×k (K 表示每个元素占用的字节数)

线性表的顺序存储结构是一种随机存取的存储结构。

在线性表的顺序存储结构下,可以对线性表做的运算:插入、删除、查找、排序、分解、合并、复制、

逆转。

三、顺序表的插入运算

线性表的插入运算是指在表的第i (1≤i ≤n+l )个位置上,插入一个新结点x ,使长度为n 的线性表

(a1,…,ai-1,ai ,…,an )

变成长度为n+1的线性表

(a1,…,ai-1,x ,ai ,…,an )

插入运算的基本步骤是:①将结点a i ,…,a n 各后移一位以便腾出第i 个位置;②将x 置入该空位;

③表长加1。

算法分析:

① 合法的插入位置共n+1个,即第1个位置到到第n+1个位置。

② 最坏情况是插入到第1个位置,共需要移动n 个元素。

③ 最好情况是插入到第n+1个位置,不需要移动元素。

④ 在插入位置等概率情况下,平均移动元素的个数为:(n +(n - 1)+(n -2)+ …+ 2 + 1+0)/(n+1)

= n / 2。

⑤在第i 个位置上插入需要移动n-i+1次。

四、顺序表的删除运算

线性表的删除运算是指将表的第i (1≤i ≤n )个结点删除,使长度为n 的线性表:

(a1,…,ai-1,ai ,ai+1,…,an )

变成长度为n-l 的线性表

(a1,…,ai-1,ai+1,…,an )

线性表的删除运算的基本步骤是:①从a i+1,…,a n 依次向前移一个位置;②表长减1。

算法分析:

① 合法的删除位置共n 个,即第1个位置到第n 个位置。

② 最坏情况是删除第1个位置上的元素,共需要移动n-1个元素。

③ 最好情况是删除第n 个位置上的元素,不需要移动元素。

④ 在删除元素的位置等概率情况下,平均移动元素的个数为:((n-1)+(n -2)+ … + 2 + 1+0)/ n=

(n – 1)/ 2。

⑤删除第i 个位置上的元素需要移动n-i 次。

1.4 栈和队列

一、栈及其基本运算

1、什么是栈

栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶(用top 表示),不允许插

入与删除的另一端称为栈底(用bottom 表示)。 栈按照“先进后出”(FILO )或“后进先出”(LIFO )组

织数据,栈具有记忆作用。栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最

先被插入的元素,从而也是最后才能被删除的元素。

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

用S (1:m )作为栈的顺序存储空间。m 为栈的最大容量。

top

a1 a2 a3

1 2 3 m

1)判栈空:当top=0 时栈空。

2)判栈满:当top=m时栈满。

3)进栈:top=top+1;S[top]=x;

4)出栈:x=S[sq.top];top=top-1;

5)读栈顶元素:x=S[top];

二、队列及其基本运算

1、什么是队列

队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。Rear指针指向队尾,front指针指向队头。

front rear

a1 a2 a3 a4

1 m

队列是“先进先出”(FIFO)或“后进后出”(LILO)的线性表。

队列运算包括(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。

2、循环队列及其运算

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

在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。

为了能区分队满还是队列空,通常需要增加一个标志S。队列空的条件为S=0,队列满的条件为S=1,rear=front。

循环队列中元素的数目:

①当rear>front时为rear-front

②当s=0时,为零。

③当rear=front且s=1时,为m。

④当rear

循环队列主要有两种基本运算:入队运算和退队运算

入队运算:指在循环队列的队尾加入一个新元素,首先rear=rear+1,当rear=m+1时,置rear=1,然后将新元素插入到队尾指针指向的位置。当S=1,rear=front,说明队列已满,不能进行入队运算,称为“上溢”。

退队运算:指在循环队列的排头位置退出一个元素并赋给指定的变量。首先front=front+1,并当front=m+1时,置front=1,然后将排头指针指向的元素赋给指定的变量。当循环队列为空S=0,不能进行退队运算,这种情况成为“下溢”。

1.5 线性链表

一、线性单链表的基本概念

1、线性链表

单链表

试真题、二级c语言上机题库、二级c语言历年真题和计算机三级网络技术、三级网络技术真题、三级网络技术笔试真题、三级网络技术上机真题、三级网络技术上机题库、三级数据库技术上机题库、三级信息管理技术上机题库、三级网络技术南

好消息!华夏培训在线录有史上最通俗易懂的全国计算机二级C 语言教程、二级C 语言上机包过教程、三级网络技术上机包过教程(含数据库技术、信息管理技术),该教程基本可100%命中对应上机试题,

同学可到华夏培训在线官方网站https://www.sodocs.net/doc/a46615818.html, 直接在线免费听课并下载上机题库,华夏培训在

单链表不同于顺序表,链表的各结点占用的存储空间之间可以是连续的,也可以是不连续的。因此链

表中结点的逻辑次序和物理次序不一定相同,通过指针来反映结点之间的逻辑关系。

2、带链的栈

链表的头指针就是链栈的栈顶指针,插入和删除操作都只能在栈顶进行。

3、带链的队列

带链的队列实际上是一个同时带有头指针和尾指针的带头结点的单链表,头指针front 指向链队的头

结点,尾指针

链队一般不会出现队满的情况。

二、 线性链表的基本运算

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

在线性链表中,即使知道被访问结点的序号i ,也不能像顺序表中那样直接按序号i 访问结点,而只能

从链表的头指针出发,顺链域Next 逐个结点往下搜索,直到搜索到第i 个结点为止。因此,链表不是随机

存取结构。

在链表中,查找是否有结点值等于给定值x 的结点,若有的话,则返回首次找到的其值为x 的结点的

存储位置;否则返回NULL 。查找过程从开始结点出发,顺着链表逐个将结点的值和给定值x 作比较。

2、线性链表的插入

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

插入运算是将值为X 的新结点插入到表的第i 个结点的位置上,即插入到ai-1,与ai 之间。因此,我

们必须首先找到ai-1的存储位置p ,然后生成一个数据域为x 的新结点*q ,并令结点,p 的指针域指向新

结点,新结点的指针域指向结点ai

3、线性链表的删除

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

……front rear

三、循环链表及其基本运算

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

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

顺序表与链表的比较

顺序表的优缺点。

优点:①空间利用率高。②可以实现随机存取。

缺点:①插入、删除操作中要大量移动结点,时间性能差。

②需要事先确定顺序表的大小,估计小了会发生溢出现象,估计大了又将造成空间的浪费。

链表的优缺点。

优点:①插入、删除操作中无需移动结点,时间性能好。

②因为是动态分配存储空间,所以只要有空闲空间就不会发生溢出现象。

缺点:因为每个结点都要额外设置指针域,因此空间利用率低。

双链表:

1.6 树与二叉树

一、树的定义

树是由n(n≥0)个结点组成的有限集合。若n =0,称为空树;若n>0,则:

(1)有一个特定的称为根(root)的结点。它只有直接后件,但没有直接前件;

(2)除根结点以外的其他结点可以划分为m(m≥0)个互不相交的有限集合T0,T1,…,Tm-1,每个集合Ti(i=0,1,…,m-l)又是一棵树,称为根的子树,每棵子树的根结点有且仅有一个直接前件,但可以有0

树型结构具有如下特点:

(1)每个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称为树的根;

(2)每一个结点可以有多个后件,它们都称为该结点的子结点。没有后件的结点称为叶子结点;

(3)一个结点所拥有的后件个数称为树的结点度;

(4)树的最大层次称为树的深度。

华夏培训在线https://www.sodocs.net/doc/a46615818.html,提供计算机二级公共基础知识、二级c语言真题、二级c语言上机真题、二级c语言笔试真题、二级c语言上机题库、二级c语言历年真题和计算机三级网络技术、三级网络技术真题、三级网络技术笔试真题、三级网络技术上机真题、三级网络技术上机题库、三级数据库技术上机题库、三级信息管理技术上机题库、三级网络技术南

二、二叉树的定义及其基本性质

1、什么是二叉树

二叉树(binary tree)是由n(≥0)个结点的有限集合构成,此集合或者为空集,或者由一个根结点及两棵互不相交的左右子树组成,并且左右子树都是二叉树。二叉树可以是空集合,根可以有空的左子树或空的右子树。二叉树不是树的特殊情况,它们是两个概念。

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

(1)非空二叉树只有一个根结点;

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

二叉树的每个结点最多有两个孩子,或者说,在二叉树中,不存在度大于2的结点,并且二叉树是有序树(树为无序树),其子树的顺序不能颠倒。

在二叉树中,一个结点可以只有左子树而没有右子树,也可以只有右子树而没有左子树。当一个结点既没有左子树也没有右子树时,该结点即是叶子结点)

2、二叉树的基本性质

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

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

20+21+22+…+2m-1=2m-1

性质3:对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。

如果叶子结点n0,度为2的结点数为n2,则n0=n2+l。

证明:

设度为1的结点数目为n1,二叉树的结点总数为n,有

n=n0 + n1 + n2

设m表示分支数,具有n个结点的二叉树的分支总数为n-1。则有

m=n - 1

而所有这些分支不是来自于度为1的结点就是来自于度为2的结点,即每一个度为1的结点发出一个分支,每一个度为2的结点发出两个分支。于是有

m=n1 + 2n2

联立上面三个等式可以得到

n0=n2 +1

证毕

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

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

(l)满二叉树

好消息!华夏培训在线录有史上最通俗易懂的全国计算机二级C语言教程、二级C语言上机包过教程、三级网络技术上机包过教程(含数据库技术、信息管理技术),该教程基本可100%命中对应上机试题,同学可到华夏培训在线官方网站https://www.sodocs.net/doc/a46615818.html,直接在线免费听课并下载上机题库,华夏培训在

满二叉树:若二叉树中的结点,或者度为2,或者度为0,并且度为0的结点(叶结点)都集中在最下面一层,具有这种特点的二叉树称为满二叉树。

深度为m的满二叉树有2m-1个结点,总结点数一定为奇数。

(2)完全二叉树

完全二叉树:若二叉树中最多只有最下面两层的结点的度可以小于2,并且最下面那一层的结点(叶结点)从左到右依次紧密排列,这样的二叉树称为完全二叉树。

满二叉树是完全二叉树,但完全二叉树不一定是满二叉树。

完全二叉树总结点数为n,若n为奇数,则叶子结点数为(n+1)/2;若n为偶数,则叶子结点数为n/2

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

性质6:如果对一棵有n个结点的完全二叉树的结点按层序编号(从第1层到第[log2n]+1层,每层从左到右),则对任一编号为k(1≤k≤n)结点,有:

(1)如果k=1,则结点k无双亲,是二叉树的根;如果k>1,则其双亲是结点[i/2];

(2)如果2k≤n,则其左孩子是结点编号是2k,否则,结点k为叶子结点,无左孩子;

华夏培训在线https://www.sodocs.net/doc/a46615818.html,提供计算机二级公共基础知识、二级c语言真题、二级c语言上机真题、二级c语言笔试真题、二级c语言上机题库、二级c语言历年真题和计算机三级网络技术、三级网络技术真题、三级网络技术笔试真题、三级网络技术上机真题、三级网络技术上机题库、三级数据库技术上机题库、三级信息管理技术上机题库、三级网络技术南

(3)如果2k+1≤n ,则其右孩子是结点编号是2k+1;否则结点k 无右孩子,。

4、二叉树的存储结构

四、二叉树的遍历

所谓遍历二叉树,就是遵从某种次序,访问二叉树中的所有结点,使得每个结点仅被访问一次。

1、前序遍历 (根左右)

前序遍历是首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先

访问根结点,然后遍历左子树,最后遍历右子树。

2、中序遍历 (左根右)

中序遍历是首先遍历左子树,然后访间根结点,最后遍历右子树;并且,在遍历左、右子树时,仍然

先遍历左子树,然后访问根结点,最后遍历右子树。

3、后序遍历 (左右根)

后序遍历是首先遍历左子树,然后遍历右子树,最后访问根结点,并且,在遍历左、右子树时,仍然

先遍历左问根结点。

前序遍历的结果是:FCADBEGHP 中序遍历的结果是:ACBDFEHGP 后序遍历的结果是:ABDCHPGEF

前序遍历的结果是:ABCDFGHE

中序遍历的结果是:BADGFHCE

后序遍历的结果是:BGHFDECA

1.7查找技术

一、顺序查找

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

在查找成功时,最好的情况,查找长度为1;最坏的情况,查找长度为n;平均查找长度为(1+2+3+…+n)/n=(n+1)/2。

在两种情况下只能用顺序查找:线性表为无序表、链式存储结构的有序表

二、二分法查找

在长度为n的有序顺序表中查找x的过程:

将x与中间项进行比较:

若x等于中间项的值,查找成功,查找结束。

若x小于中间项的值,则在中间项以前的部分以相同的方法进行查找;

若x大于中间项的值,则在中间项以后的部分以相同的方法进行查找。

这个过程一直进行到查找成功或子表长度为0(说明线性表中没有这个元素)为止。

例:对有序表(18,20,25,34,48,62,74,85)用二分查找法查找74,所需的比较次数为()。

A.1次B.2次C.3次D.4次

【分析】

第1趟:18 20 25 34 48 62 74 85

low mid high

第2趟:18 20 25 34 48 62 74 85

low mid high

第3趟:18 20 25 34 48 62 74 85

mid high

【解答】C

l二分法查找只适用于顺序存储的有序表(从小到大)。

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

华夏培训在线https://www.sodocs.net/doc/a46615818.html,提供计算机二级公共基础知识、二级c语言真题、二级c语言上机真题、二级c语言笔试真题、二级c语言上机题库、二级c语言历年真题和计算机三级网络技术、三级网络技术真题、三级网络技术笔试真题、三级网络技术上机真题、三级网络技术上机题库、三级数据库技术上机题库、三级信息管理技术上机题库、三级网络技术南

1.8排序技术

一、交换类排序法

冒泡排序与快速排序法属于交换类的排序方法

1、冒泡排序法

冒泡排序法的基本过程:

首先,从表头开始往后扫描线性表,在扫描过程中逐次比较相邻两个元素的大小。若相邻两个元素中,前面的元素大于后面的元素,则将它们互换,称之为消去了一个逆序。显然,在扫描过程中,不断地将两相邻元素中的大者往后移动,最后就将线性表中的最大者换到了表的最后,这也是线性表中最大元素应有的位置。

然后,从后到前扫描剩下的线性表,同样,在扫描过程中逐次比较相邻两个元素的大小。若相邻两个元素中,后面的元素小于前面的元素,则将它们互换,这样就又消去了一个逆序。显然,在扫描过程中,不断地将两相邻元素中的小者往前移动,最后就将剩下线性表中的最小者换到了表的最前面,这也是线性表中最小元素应有的位置。

对剩下的线性表重复上述过程,直到剩下的线性表变空为止,此时的线性表已经变为有序。

原始序列: 5 1 7 3 1 6 9 4 2 8 6

第一遍(从前往后)1 5 3 1 6 7 4 2 8 6 9

(从后往前)1 1 5 3 2 6 7 4 6 8 9

第二遍(从前往后)1 1 3 2 5 6 4 6 7 8 9

(从后往前)1 1 2 3 4 5 6 6 7 8 9

……

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

2、快速排序法

快速排序法的基本思想如下:

从线性表中选取一个元素,设为T,将线性表后面小于T的元素移到前面,而前面大于T的元素移到后面,以T为分界线,将线性表分成了前后两个子表,且前面子表中的所有元素均不大于T,而后面子表中的所有元素均不小于T。如果对分割后的各子表再按上述原则进行分割,并且,这种分割过程可以一直做下去,直到所有子表为空为止,则此时的线性表就变成了有序表。

例:原始序列:83 40 63 13 84 35 96 57 39 79 61 15

第1趟后:15 40 63 13 61 35 79 57 39 83 96 84

第2趟后:13 15 63 13 61 35 79 57 39 83 96 84

第3趟后:13 15 39 40 61 35 57 63 79 83 96 84

第4趟后:13 15 35 39 61 40 57 63 79 83 96 84

第5趟后:13 15 35 39 57 40 61 63 79 83 96 84

第6趟后:13 15 35 39 40 57 61 63 79 83 96 84

第7趟后:13 15 35 39 40 57 61 63 79 83 84 96

第7趟后没有长度大于1的未排子序列,排序结束。

快速排序在最坏情况下时间复杂性:n(n-1)/2,最好情况为nlog2n。

二、插入排序法

1、简单插入排序法

简单插入排序法思想:第i趟排序将序列的第i+1个数据元素插入到一个大小为i、并且已经按值有序好消息!华夏培训在线录有史上最通俗易懂的全国计算机二级C语言教程、二级C语言上机包过教程、三级网络技术上机包过教程(含数据库技术、信息管理技术),该教程基本可100%命中对应上机试题,同学可到华夏培训在线官方网站https://www.sodocs.net/doc/a46615818.html,直接在线免费听课并下载上机题库,华夏培训在

的子序列的合适位置,得到一个大小为i+1、且仍然保持按值有序的子序列,这里i=1,2,3,…,n-1。

原始序列:5 1 7 3 1 6 9 4 2 8 6

第一遍 1 5 7 3 1 6 9 4 2 8 6

第二遍 1 5 7 3 1 6 9 4 2 8 6

第三遍 1 3 5 7 1 6 9 4 2 8 6

对于具有n个数据元素的序列而言,插入排序法的总的排序趟数为n-1。最坏情况下,元素之间的比较次数为n(n-1)/2,最好情况下(已经从小到大有序),元素之间的比较次数为n-1。

2、希尔排序法

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

子序列的分割方法如下:

将相隔某个增量h的元素构成一个子序列。在排序过程中,逐次减小这个增量,最后当h减到1时,进行一次插入排序,排序就完成。

增量序列一般取h t=n/2k

例:下面是十二个数希尔排序的过程:

h=6 07 19 24 13 31 08 82 18 44 63 05 29

h=3 07 18 24 13 05 08 82 19 44 63 31 29

h=1 07 05 08 13 18 24 63 19 29 82 31 44

结果:05 07 08 13 18 19 24 29 31 44 63 82

希尔排序的效率与所选取的增量序列有关。如果选取h t=n/2k,则在最坏情况下,希尔

排序所需要的比较次数为O(n 1.5)。

三、选择类排序法

1、简单选择排序法

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

原始序列:89 21 56 48 85 16 19 47

第一遍16 21 56 48 85 89 19 47

第二遍16 19 56 48 85 89 21 47

第三遍16 19 21 48 85 89 56 47

第四遍16 19 21 47 85 89 56 48

第五遍16 19 21 47 48 89 56 85

华夏培训在线https://www.sodocs.net/doc/a46615818.html,提供计算机二级公共基础知识、二级c语言真题、二级c语言上机真题、二级c语言笔试真题、二级c语言上机题库、二级c语言历年真题和计算机三级网络技术、三级网络技术真题、三级网络技术笔试真题、三级网络技术上机真题、三级网络技术上机题库、三级数据库技术上机题库、三级信息管理技术上机题库、三级网络技术南

第六遍16 19 21 47 48 56 89 85

第七遍16 19 21 47 48 56 85 89

对于具有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、输入和输出

好消息!华夏培训在线录有史上最通俗易懂的全国计算机二级C语言教程、二级C语言上机包过教程、三级网络技术上机包过教程(含数据库技术、信息管理技术),该教程基本可100%命中对应上机试题,同学可到华夏培训在线官方网站https://www.sodocs.net/doc/a46615818.html,直接在线免费听课并下载上机题库,华夏培训在

在设计和编程时应考虑如下原则:

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

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

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

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

(5)应允许缺省值;

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

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

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

2 .2 结构化程序设计

一、结构化程序设计方法的四条原则是:

1、自顶向下;

2、逐步求精;

3、模块化;

4、限制使用goto语句。

二、结构化程序的基本结构和特点:

(1)顺序结构:

(2)选择结构:又称分支结构;

(3)重复结构:又称循环结构。

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

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

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

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

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

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

2.3 面向对象的程序设计

一、关于面向对象方法

面向对象方法的优点:

1、与入类习惯的思维方法一致;

传统的程序设计方法是面向过程的,其核心方法是以算法为核心,把数据和过程作为相互独立的部分,数据代表问题空间中的客体,程序则用于处理这些数据,在计算机内部数据和程序是分开存放的,这样的做法往往会发生使用错误的数据调用正确的程序模块的情况。

面向对象方法和技术以对象为核心。对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系。

2、稳定性好;

由于现实世界中的实体是相对稳定的,因此,以对象为中心构造的软件系统也是比较稳定的。

3、可重用性好;

华夏培训在线https://www.sodocs.net/doc/a46615818.html,提供计算机二级公共基础知识、二级c语言真题、二级c语言上机真题、二级c语言笔试真题、二级c语言上机题库、二级c语言历年真题和计算机三级网络技术、三级网络技术真题、三级网络技术笔试真题、三级网络技术上机真题、三级网络技术上机题库、三级数据库技术上机题库、三级信息管理技术上机题库、三级网络技术南

有两种方法可以重复使用一个对象类:一种方法是创建该类的实例,从而直接使用它;另一种方法是从它派生出一个满足当前需要的新类。继承性机制使得子类不仅可以重用其父类的数据结构和程序代码,而且可以在父类代码的基础上方便地修改和扩充,这种修改并不影响对原有类的使用。

4、易于开发大型软件产品;

用面向对象摸型开发软件时,可以把一个大型产品看作是一系列本质上相互独立的小产品来处理,这就不仅降低了开发的技术难度,而且也使得对开发工作的管理变得容易。

5、可维护性好。

(1)用面向对象的方法开发的软件稳定性比较好。

(2)用面向对象的方法开发的软件比较容易修改。

(3)用面向对象的方法开发的软件比较容易理解。

(4)易于测试和调试。

二、面向对象方法的基本概念

1、对象

对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组表示其静态特征的属性和它可执行的一组操作组成。即对象是属性和方法的封装体。

对象的属性即对象所包含的信息。

对象的操作描述了对象执行的功能,操作也称为方法或服务。

对象的基本特点:

(1)标识惟一性;指对象可由其内在本质来区分。

(2)分类性;指可以将具有相同属性和操作的对象抽象成类。

(3)多态性;指同一操作可以是不同对象的思维。

(4)封装性;从外部只能看到对象的外部特征。在面向对象方法中,信息隐蔽是通过对象的封装性来实现的。

(5)模块独立性好。

2、类

类指具有共同属性、共同方法的对象的集合。所以类是对象的抽象,对象是对应类的一个实例。

3、消息

消息是一个实例与另一个实例之间传递的信息。

消息的组成包括(1)接收消息的对象的名称;(2)消息标识符,也称消息名;

(3)零个或多个参数。

4、继承

继承是指能够直接获得已有的性质和特征,而不必重复定义他们。

继承分单继承和多重继承。单继承指一个类只允许有一个父类,多重继承指一个类允许有多个父类。

5、多态性

多态性是指同样的消息被不同的对象接受时可导致完全不同的行动的现象。在面向对象软件技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息可以发送给父类对象也可以发送给子类对象。

好消息!华夏培训在线录有史上最通俗易懂的全国计算机二级C语言教程、二级C语言上机包过教程、三级网络技术上机包过教程(含数据库技术、信息管理技术),该教程基本可100%命中对应上机试题,同学可到华夏培训在线官方网站https://www.sodocs.net/doc/a46615818.html,直接在线免费听课并下载上机题库,华夏培训在

第三章软件工程基础

3.1 软件工程基本概念

一、软件的定义与软件特点

1、软件的概念

国标(GB)中对软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。

软件包括程序、数据和有关的文档。

2、软件的特点

(1)软件是逻辑产品,而不是物理实体,它具有无形性,通过计算机的执行才能体现它的功能和作用;

(2)没有明显的制作过程,其成本主要体现在软件的开发和研制上,可进行大量的复制;

(3)不存在磨损和消耗问题;

(4)软件的开发、运行对计算机系统具有依赖性;

(5)开发和维护成本高;

(6)软件开发涉及诸多社会因素。

3、软件的分类

软件分应用软件、系统软件和支撑软件3类。

(1)应用软件是特定应用领域内专用的软件;

(2)系统软件居于计算机系统中最靠近硬件的一层,是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件;

(3)支撑软件介于系统软件和应用软件之间,是支援其他软件的开发与维护的软件。

二、软件危机与软件工程

1、软件危机

软件危机主要表现在:

(1)软件需求的增长得不到满足;

(2)软件开发成本和进度无法控制;

华夏培训在线https://www.sodocs.net/doc/a46615818.html,提供计算机二级公共基础知识、二级c语言真题、二级c语言上机真题、二级c语言笔试真题、二级c语言上机题库、二级c语言历年真题和计算机三级网络技术、三级网络技术真题、三级网络技术笔试真题、三级网络技术上机真题、三级网络技术上机题库、三级数据库技术上机题库、三级信息管理技术上机题库、三级网络技术南

好消息!华夏培训在线录有史上最通俗易懂的全国计算机二级C 语言教程、二级C 语言上机包过教程、三级网络技术上机包过教程(含数据库技术、信息管理技术),该教程基本可100%命中对应上机试题,同学可到华夏培训在线官方网站https://www.sodocs.net/doc/a46615818.html, 直接在线免费听课并下载上机题库,华夏培训在 (3)软件质量难以保证;

(4)软件不可维护或维护程度非常低;

(5)软件成本不断提高;

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

总之,可以将软件危机归结为成本、质量和生产率等问题。

2、软件工程的产生

为了摆脱软件危机,北大西洋公约组织成员国软件一工作者于1968年和1969年两次召开会议(NATO 会议),认识早期软件开发中所存在的问题和产生问题的原因,提出软件工程的概念。

软件工程包括3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。

三、 软件工程过程与软件生命周期

1、软件工程过程包含4种基本活动:

(l )软件规格说明P (Plan ):规定软件的功能及其运行机制;

(2)软件开发D (Do ):产生满足规格说明的软件;

(3)软件确认C (Check ):确认软件能够满足客户提出的要求;

(4)软件演进A (Action ):为满足客户的变更要求,软件必须在使用的过程中演进。

2、软件生命周期

软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。

软件生命周期三个阶段:软件定义、软件开发、运行维护。

软件生命周期划分为8个阶段,即可行性研究与计划、需求分析、概要设计、详细设计、实现、综合测试、确认测试、使用与维护。

四、软件工程的目标与原则

1、软件工程的目标

软件工程的目标是,在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性巨满足用户需求的产品。

软件工程研究的内容主要包括:

(1)软件开发技术。

(2)软件工程管理

2、软件工程的原则

(1)抽象。抽象事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向下,逐层细化的办法控制软件开发过程的复杂性。

(2)信息隐蔽。采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。

(3)模块化。模块是程序中相对独立的成分,一个独立的编程单位,应有良好的接口定义。模块的大小要适中。

(4)局部化。要求在一个物理模块内集中逻辑上相互关联的计算资源,保证模块间具有松散的耦合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。

(5)确定性。软件开发过程中所有概念的表达应是确定的、无歧义的且规范的这有助于人与人的交互,不会产生误解和遗漏,以保证整个开发工作的协调一致。

(6)一致性。包括程序、数据和文档的整个软件系统的各模块应使用已知的概念、符号和术语;程序内外部接口应保持一致,系统规格说明与系统行为应保持一致。

(7)完备性。软件系统不丢失任何重要成分,完全实现系统所需的功能:

(8)可验证性。开发大型软件系统需要对系统自顶向下,逐层分解。系统分解应遵循容易检查、测评、评审的原则,以确保系统的正确性。

五、软件开发工具与软件开发环境

1、软件开发工具。是协助开发人员进行软件开发活动所使用的软件或环境,它包括需求分析工具、设计工具、编码工具、排错工具、测试工具等。

2、软件开发环境。是指全面支持软件开发全过程的软件的工具集合。

3.2 结构化分析方法

一、需求分析与需求分析与方法

1、需求分析

软件需求分析是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析的任务是发现需求、求精、建模和定义需求的过程。

需求分析阶段的工作概括为4个方面:

①需求获取;

②需求分析;

③编写需求规格说明书;

④需求审评。

2、需求分析方法

(l)结构化分析方法。

主要包括:面向数据流的结构化分析方法(SA)、面向数据结构的Jackson方法(JSD)、面向数据结构的结构化数据系统开发方法(DSSD)。

(2)面向对象的分析方法(OOA)。

二、结构化分析方法

1、关于结构化分析方法

结构化分析方法是结构化程序设计理论在软件需求分析阶段的运用。结构化分析方法实质是着眼于数据流,自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑

华夏培训在线https://www.sodocs.net/doc/a46615818.html,提供计算机二级公共基础知识、二级c语言真题、二级c语言上机真题、二级c语言笔试真题、二级c语言上机题库、二级c语言历年真题和计算机三级网络技术、三级网络技术真题、三级网络技术笔试真题、三级网络技术上机真题、三级网络技术上机题库、三级数据库技术上机题库、三级信息管理技术上机题库、三级网络技术南

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

公共基础知识教材 电子版

公共基础知识教材电子版 党的一大:中国共产党诞生 1921年,中国共产党在上海召开第一次全国代表大会,宣告了中国共产党的成立。 党的二大:提出反帝反封建的民主革命纲领 1922年,中共二大,正确分析了中国的社会性质,中国革命的性质、对象、动力和前途,指出了中国革命要分两步走,在中国近代史上第一次提出了彻底的反帝反封建的民主革命纲领。党的最高纲领是实现社会主义、共产主义。现阶段的革命纲领即最低纲领是统一中国为真正的民主共和国。二大为中国各民族人民的革命斗争指明了方向,对中国革命具有重大的深远的意义。 党的三大:大革命洪流中召开的党的代表大会 1923年,党的三大召开,决定共产党员以个人身份加入国民党,实现国共合作,同时保持共产党在政治、思想、组织上的独立性。1924年,国民党一大召开,确立联俄、联共、扶助农工的三大政策,形成了新三民主义,标志着第一次国共合作正式形成。 党的四大:大革命洪流中召开的党的代表大会 1925年四大召开,提出了无产阶级在民主革命中的领导权问题和工农联盟问题。四大的缺点和不足是:虽然提出了领导权的问题,但对于如何争取领导权,缺乏具体明确的方针,只讲对群众运动的领导权,而完全忽视了对政权和武装力量的领导权。提出了农民是革命同盟军的问题,但没有提出土地革命这一解决农民问题的根本思想。 党的五大:大革命洪流中召开的党的代表大会

1927年五大召开,大大虽然批判了陈独秀的右倾错误,但对争夺革命领导权所迫切需要解决的重大问题,如改造武汉国民党、改造武汉国民政府、组织和扩大党对革命武装的领导等问题,均未做出切合实际的回答。大会对陈独秀右倾投降主义的实质和危害也缺乏深刻的认识。五大实际上并未解决挽救时局的问题。 党的六大:唯一一次在国外召开的党的代表大会 1928年六大在莫斯科召开,中共六大制定的路线基本是正确的,对后来中国革命的发展起了积极的作用。但这次会议也存在着缺点,即对中间阶级的作用、反动势力内部的矛盾缺乏正确的估计和政策,特别是对中国革命的长期性和农村革命根据地的重要意义认识不足,仍旧把城市工作放在全党工作的中心,这对中国革命的发展起了消极的影响。 党的七大:确立毛泽东思想在全党的指导地位 1945年七大在延安召开,大会确立毛泽东思想为全党的指导思想,这是七大做出的历史性贡献。大会把党在长期奋斗中形成的优良传统和作风概括为三大作风。即理论联系实际,密切联系群众,批评与自我批评。 党的八大:探索建设社会主义道路的良好开端 1956年八大召开,大会正确分析了国内外形势和国内主要矛盾的变化,指出:由于社会主义改造已经取得决定性胜利,我国无产阶级同资产阶级之间的矛盾已经基本解决,国内的主要矛盾,已经是人民对于建立先进的工业国的要求同落后的农业国的现实之间的矛盾,已经是人民对于经济文化迅速发展的需要同当前经济文化不能满足人民需要的状况之间的矛盾。党和人民当前的主要任务,就是要集中力量解决这个矛盾,把我国尽快地从落后的农业国变成先进的工业国。八大是探索中国自己的建设社会主义道路的良好开端。 党的九大:文化大革命中的大会

二年级公共基础知识教材精讲完整版

二年级公共基础知识教 材精讲 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

目 录 视频讲解教师简介 .................................................................... 教材精讲部分[视频讲解] .............................................................. 第1章 数据结构与算法[视频讲解] ................................................ 1.1 算 法 ................................................................. 1.2 数据结构的基本概念 ..................................................... 1.3 线性表及其顺序存储结构 ................................................. 1.4 栈和队列 ............................................................... 1.5 线性链表 ............................................................... 1.6 树与二叉树 ............................................................. 1.7 查找技术 ............................................................... 2018年9月全国计算机等级考试《二级公共基础知识》【教材精讲+真题解析】讲义 与视频课程 最新资料,WORD 格式,可编辑修改!

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

全国计算机二级考试公共基础知识总结 第一章数据结构与算法 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)归纳法 归纳法的基本思想是,通过列举少量的特殊情况,经过分析,最后找出一般的关系。从本质上讲,归纳就是通过观察一些简单而特殊的情况,最后总结出一般性的结论。

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

全国计算机等级考试二级公共基础知识复习资料 全国计算机等级考试二级公共基础知识复习资料 第一章数据结构与算法 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.教育学发展中的教育专著:(1)中国先秦时的《学记》,是中国乃至世界范围内最早的一部教育专著; (2)教育学史上,一般认为捷克教育学家夸美纽斯于1632年撰写的《大教学论》是近代第一本教育学专著;(3)从一门规范学科的建立,从独立的教育学诞生的角度看,通常以德国教育学家赫尔巴特1806年出版的《普通教育学》为标志。赫尔巴特本人被视为“传统教育派”的代表;(4) 杜威也被视为现代教育的代言人 二、教育及其发展 1.教育的概念:广义的教育,是指增进人们知识和技能,影响人们思想观念的活动;狭义的教育,主要是指学校教育,是教育者根据一定的社会要求,有目的、有计划、有组织的通过学校教育工作,对受教育者的身心施加影响,促使他们朝着期望的方向变化的活动 2. 教育的发展经历的阶段:教育的发展经历了古代教育、文艺复兴后的欧洲教育、近代教育、20世纪以 后的教育等几个阶段 三、教育的基本要素及其关系 1.教育的基本要素:教育者、受教育者、教育影响。其中,教育者是教育活动的主体;受教育者是指在社会教育活动中从事学习的人;教育影响是置于教育者和受教育者之间的一切“中介”的总和 2. 教育要素之间的关系:1. 教育者是教育影响和学生间的中介;2. 受教育者是教育者选择和使用教育影响的依据; 3. 教育影响是教育者对受教育者施加影响的桥梁

(一)教育与社会的政治经济制度 1. 政治经济制度对教育的制约:(1)政治经济制度决定教育的领导权;(2)政治经济制度决定受教育的权利;(3)政治经济制度决定着教育目的;(4)教育相对独立于政治经济制度 2. 教育对政治经济制度的影响:(1)教育为政治经济制度培养需要的人才;(2)教育是一种影响政治经济的舆论力量;(3)教育可以促进民主 (二)教育与社会生产力 教育与社会生产力的关系: 1.生产力对教育的决定作用:(1)生产力水平决定教育的规模和速度;(2)生产力水平制约着教育结构的变化;(3)生产力发展水平制约着教育的内容和手段;(4)教育相对独立于生产力的发展水平 2.教育对生产力的促进作用:(1)教育对生产力的促进作用:1)教育再生产劳动力;2)教育再生产科学知识 (2)教育通过提高国民素质来提高劳动生产力 (三)教育与科技文化 1.教育与科技的关系 (1)科技对教育的影响:1)科技能够改变教育者的观念;2)科技能够影响受教育者的数量和教育质量;3)科技能够影响教育的内容、方法和手段 (2)教育对科技发展的作用:1)教育能够完成科技知识的再生产;2)教育可以推进科学体制化;3)教育具有科学研究的功能;4)教育具有推进科技研究的功能 (3)信息技术与教育:1)信息技术改变着人们关于知识的观念;2)信息技术改变着人们关于学习和教育

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

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

新版公共基础知识-新版.pdf

公共基础知识复习资料:模拟冲刺题(单选五十一) 1.下列说法错误的是( )。 A.行政机关依申请提供政府信息可以收取部分必要费用 B.行政机关依申请提供政府信息不得收取任何费用 C.行政机关不得通过其他组织、个人以有偿服务方式提供政府信息 D.行政机关收取费用的标准由国务院价格主管部门会同国务院财政部门制定 1.【答案】B。 解析:《中华人民共和国政府信息公开条例》第二十七条规定:“行政机关依申请提供政府 信息,除可以收取检索、复制、邮寄等成本费用外,不得收取其他费用。行政机关不得通过 其他组织、个人以有偿服务方式提供政府信息。”所以B错误,A正确。 2.2009年11月27日,重庆市第三届人民代表大会常务委员会第十三次会议通过决议,免 去文强的重庆市司法局局长职务。下列关于地方人大常委会行使职权不符合法律规定的是 ( )。 A.某区人大常委会选举产生该区副区长 B.某省人大常委会撤销省内某市人大的一项不适当的决议 C.某省人大常委会任免省内某市中级人民法院院长 D.某县人大常委会撤销该县政府的一项决定 2.【答案】A。 解析:《地方各级人民代表大会和地方各级人民政府组织法》第八条规定:“县级以上的地方各级人民代表大会行使下列职权:……(五)选举省长、副省长,自治区主席、副主席,市长、副市长,州长、副州长,县长、副县长,区长、副区长……”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):算法中的每一个步骤都必须有明确的定义,不允许有模棱两可的解释和多义性。 ⑶有穷性(finiteness):算法必需在有限时间内做完,即算法必需能在执行有限个步骤之后终止。 (4)拥有足够的情报:要使算法有效必需为算法提供足够的情报当算法拥有足够的情报时,此算法才最有效的;而当提供的情报不够时,算法可能无效。 2 算法的基本要素 (1) 算法中对数据的运算和操作:每个算法实际上是按解题要求从环境能进行的所 有操作中选择合适的操作所组成的一组指令序列。计算机可以执行的基本操作是以指令的形式描述的。一个计算机系统能执行的所有指令的集合,称为该计算机系统的指令系统。计算机程序就是按解题要求从计算机指令系统中选择合适的指令所组成的指令序列在一般的计算机系统中,基本的运算和操作有以下 4 类: ①算术运算:主要包括加、减、乘、除等运算; ②逻辑运算:主要包括“与” 、“或”、“非”等运算; ③关系运算:主要包括“大于” 、“小于”、“等于”、“不等于”等运算; ④数据传输:主要包括赋值、输入、输出等操作。 (2) 算法的控制结构:一个算法的功能不仅仅取决于所选用的操作,而且还与各操 作之间的执行顺序有关。算法中各操作之间的执行顺序称为算法的控制结构。算法的控制结构给出了算法的基本框架,它不仅决定了算法中各操作的执行顺序,而且 也直接反映了算法的设计是否符合结构化原则。描述算法的工具通常有传统流程图、N-S 结构化流程图、算法描述语言等。一个算法一般都可以用顺序、选择、循环3 种基本控制结构组合而成。 (3) 算法设计的基本方法 计算机算法不同于人工处理的方法,下面是工程上常用的几种算法设计,在实际应用时,各种方法之间往往存在着一定的联系。 (1) 列举法 列举法是计算机算法中的一个基础算法。列举法的基本思想是,根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。 列举法的特点是算法比较简单。但当列举的可能情况较多时,执行列举算法的工作量将会很大。因此,在用列举法设计算法时,使方案优化,尽量减少运算工作量,是应该重点注意的。 (2) 归纳法 归纳法的基本思想是,通过列举少量的特殊情况,经过分析,最后找出一般的关系。从 本质上讲,归纳就是通过观察一些简单而特殊的情况,最后总结出一般性的结论。 (3) 递推递推是指从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。其中初始条件或是问题本身已经给定,或是通过对问题的分析与化简而确定。递推本质上也属于归纳法,工程上许多递推关系式实际上是通过对实际问题的分析与归纳而得到的,因此,递推 关系式往往是归纳的结果。对于数值型的递推算法必须要注意数值计算的稳定性问题。

公共基础知识教材-公共管理知识

公共管理知识 第一章公共行 政概述一、公共行政的含义 公共行政是指国家行政机构为了公共的利益和目的,以公共权力和法律为基础,对社会 公共事务和政府自身内部事务所进行的管理和服务活动。 二、公共行政构成要素 (一)公共行政的主体 公共行政的主体是公共行政组织。所谓公共行政主体,是指执掌公共行政权力、承担公共管理职能的组织。主要分为:(1)职权性公共行政主体。一般为政府部门,有着结构严密、分级 有序、分工协调的组织体系,管理着十分广泛的社会事务;(2)授权性的公共行政主体。授 权性行政组织是根据法律法规的授权而具有公共行政主体资格的行政主体。 (二)公共行政的客体 公共行政的客体是社会公共事务和政府自身内部事务。 (三)公共行政的基础 公共行政是以公共权力和法律为基础的。 (四)公共行政的目的 满足公共需要,促进公共利益,实现社会公平。所谓的公共利益是为社会成员共享的资源与条件。公共利益的实现主要表现为提供公共物品与公共服务。 (五)公共行政的功能 提供公共产品和公共服务。 公共产品具有非排他性和非竞争性。排他性是指一部分人对于某一产品的消费能阻止其他人对这一产品的消费。竞争性是指一部分人对于某一产品的消费能减少其他人对这一产品的消费。 公共产品的涵义非常广泛,既可指有形的物品,如:公共场所、公共设施、公共道路交通, 也可指无形的产品和服务,如:社会治安、社会保障、教育、医疗等。 我国政府主要有五大经济职能:政策指导职能;宏观调控(经济调节)职能;培育、完 善市场机制职能;检查监督职能;提供公共产品和服务职能。 3.文化职能 我国政府的文化职能主要有以下四类:发展科学技术的职能、发展教育的职能、发展文 化事业的职能、发展体育职能。 4.社会职能 我国的社会职能主要有以下三类:社会保障职能、环境保护职能、促进社会化服务体系 建立的职能。 二、社会主义市场经济条件下公共行政的主要职能

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

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

最新《教育公共基础知识》题库及答案汇总

最新《教育公共基础知识》题库及答案汇总 注:此资料是根据最新版教材,大纲,整理而成(含参考答案),掌握本资料重点,考试必过。 一、考试认识 竞争激烈的考试,离不开考试的指定范围和考试大纲,其中主要的内容虽然各地区考试的形式不同,但是重点一般是相似或相近的!本次汇总的试题库附有参考答案,请各位需要好好的参考! 二、复习方法: 针对这样的情况,经过我们已经考过人员的总结,相对有效而可行的复习方式为:对内容简单了解后,对试题的攻克,进行多方面的试题训练,也就是说先多做试题,然后在试题中,碰到未知、不明确的通过资料进行补充、强化。原因在于:单一的看书,效率很低,也记不住。往往是看一遍忘一次。通过试题的强化训练,在试题中你会发现,主要的内容,重要的,都会在试题中反复出现。这样对于提高效率是比较重要的! 题库套卷(一) 一、单项选择题 1.从教育系统所赖以运行的场所或空间标准出发,可以将教育形态划分为( B )。 A.非制度化的教育、制度化的教育 B.家庭教育、学校教育、社会教育 C.原始社会的教育、古代社会的教育、近代社会的教育

D.普通教育、职业教育 2.( C )主张“道法自然”。 A.孟子 B.苟子 C.老子 D.韩非子 3.利用图片、图标、模型、幻灯片、电影电视等手段进行教学的直观类型是( B )。 A.实物直观 B.模象直观 C.语言直观 D.抽象直观 4.根据学习的定义,下列属于学习现象的是( D )。 A.吃了酸的食物流唾液 B.望梅止渴 C.蜘蛛织网 D.儿童模仿电影中人物的行为 5.针对传统教育的“教师、书本和课堂为中心”,提出了以儿童为中心的“活动教学”,形成了“现代教育”思想和教学模式的思想冢的是(B)。 A.中国的陶行知 B.美国的杜威 C.英国的培根 D.俄国的加里宁 6.可以解释倒摄抑制现象的遗忘理论是( B )。 A.痕迹衰退说 B.干扰说 C.同化说 D.动机说 7.( B )的出版是教育学成为一门独立学科的标志。 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)对各种数据结构进行的运算。

相关主题