为了方便计算机等级试,特意整理出来的。
第一章 数据结构与算法 1 算法是解题方案的准确而完整的描述,它不等于程序,也不等于计算方法。 基本特征:可行性、确定性、有穷性、拥有足够的情报。
2 算法复杂度主要包括时间复杂度和空间复杂度。 时间复杂度:用来衡量算法执行过程中所需要的基本运算次数。
空间复杂度:用来衡量算法执行过程中所需要的存储空间。 3 数据结构研究的主要内容: (1)数据的逻辑结构 (2)数据的存储结构 (3)对各种数据结构进行的运算 4 研究数据结构的主要目的:提高数据处理的效率。
5 数据结构的定义:指相互关联的数据元素的集合。 6 数据的逻辑结构反映数据元素之间的逻辑关系,数据的存储结构是数据的逻辑结构在计算机存储空间的存放形式。
同一种逻辑结构可以采用不同存储结构,但影响数据处理效率。 7 数据结构分为两大类型:线性结构与非线性结构 常见线性结构:线性表、栈、队列、线性链表 常用非线性结构:树、二叉树、图 8 线性表示由n(n>=0)个相同类型的数据元素构成的有限序列。
结构特征: (1)数据元素在表中的位置由序号决定,数据元素之间的相对位置是线性的 (2)对于一个非空线性表,有且只有一个根节点a1,它无前件,有且只有一个终端结点an,它无后件,除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。 基本存储结构: (1)顺序存储 (2)链式存储 9 顺序表的插入运算时需要移动元素,在等概率情况下,平均需要移动 n/2 个元素。
10 进行顺序表的删除运算时也需要移动元素,在等概率情况下,平均移动(n-1)/2 个元素。 11 栈只能在栈顶插入或删除元素,是一种先进后出FILO(或称为后入先出LIFO)的线性表。
12 队列是只能从队尾插入元素,在队头删除元素,是一种先进先出FIFO(或后入后出LILO)的线性表。 13 线性链表不能随机存取。
14 在线性链表中插入元素时,不需要移动数据元素,只需要修改相关结点指针即可,也不会出现“上溢”现象。 15 在线性链表中删除元素时,也不需要移动数据元素,只需要修改相关结点指针即可。
16 循环链表实单链表基础上增加了一个表头结点,其插入和删除运算与单链表相同,可以从任意结点出发来访问表中其他所有结点,并实现空表与非空表的运算。 17 一般二叉树通常采用链式存储结构,对于满二叉树与完全二叉树来说,可以按层序进行顺序存储。
18 二分查找知识用于顺序存储的线性表,对于无序线性表和线性表的链式存储结构只能用顺序查找。 19 冒泡排序是每一趟都会把较小的元素先前移动,最坏比较次数是 n(n-1)/2 。
20 简单插入排序法是将无序序列中的各元素依次插入到已经有序的线性表中,最坏比较次数为 n(n-1)/2。 21 希尔排序法的基本思想:将无序序列划分成若干个子序列(又相隔某个增量h的元素组成)分别进行直接插入排序,待整个序列中的元素基本有序(增量足够小)时,在对全体元素进行一次直接插入排序。
因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的。 22 选择排序每一趟都是找出无序序列中的最小一个元素,最坏比较次数为 n(n-1)/2。
23 排序技术: (1)交换排序法:冒泡排序、快速排序 (2)插入排序法:简单插入排序法、希尔排序 (3)选择排序法:简单选择排序法、堆排序法。
一、基本数据结构与算法
1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。
4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
5.线性单链表、双向链表与循环链表的结构及其基本运算。
6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、程序设计基础
1.程序设计方法与风格。
2.结构化程序设计。
3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、软件工程基础
1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。
2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3.结构化设计方法,总体设计与详细设计。
4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5.程序的调试,静态调试与动态调试。
四、数据库设计基础
1.数据库的基本概念:数据库,数据库管理系统,数据库系统。
2.数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。
3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。
这些你可以到未来教育网上详细看看!
计算机二级公共基础知识总结
数据结构与算法
1.1 算法
算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括:
(1)可行性;
(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;
(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;
(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念
数据结构研究的三个方面:
(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;
(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;
(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:
(1)表示数据元素的信息;
(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。等等
【【上 学 吧】】 有详细的资料 自己去看看
1、算法问题处理方案的正确而完整的描述称为【算法】。
算法分析的目的是,分析算法的效率以求改进。算法的基本特征是【可行性】、【确定性】、【有穷性】和拥有足够情报。
算法的有穷性是指:算法程序的运行时间是有限的。算法的复杂度是衡量算法好坏的度量,分为【时间复杂度】和【空间复杂度】。
时间复杂度是指执行算法所需要的【计算工作量】;算法的空间复杂度是指算法执行过程中所需的【存储空间】。算法时间复杂度或空间复杂度中的一项的值,没有办法推出另一项的值。
2、数据结构索引属于存储结构(物理结构)。循环队列属于【存储结构】。
数据的存储结构又称为物理结构,是数据的逻辑结构在计算机存储空间中的存放形式。一个逻辑结构可以有多种存储结构,且各种存储结构影响数据处理的效率。
程序执行的效率与数据的存储结构密切相关。数据结构分为线性结构和非线性结构,带链的队列属于【线性结构】。
线性表的存储结构主要分为顺序存储结构和链式存储结构。顺序存储结构的存储一定是连续的,链式存储的存储空间不一定是连续的。
有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。队列是一种特殊的线性表,循环队列按照【先进先出】原则组织数据。
循环队列是队列的【顺序】存储结构。数据的独立性分为【物理独立】性和【逻辑独立性】。
当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序可以不用修改,称为【物理独立性】。3、栈和队列栈是一种特殊的线性表,是只能在一端进行插入和删除的线性表,特点是先进后出栈是【先进后出】的线性表;栈具有记忆作用;对栈的插入与删除操作中,不需要改变【栈底指针】。
假定让元素1、2、3、A、B依次入栈,则出栈的顺序是:B、A、3、2、1。栈与队列都是线性结构,树是非线性结构。
支持子程序调用的数据结构是【栈】。栈与队列的共同点是,都只允许在【端点处】插入和删除元素。
栈只能顺序存储的描述是错误的。栈可以有【顺序和链式】两种存储方式。
队列是允许在一段插入,在另一端进行删除的线性表,其特点是【先进先出】。循环队列中元素的个数是由队头指针和队尾指针共同决定。
循环队列的头指针为front,尾指针为rear,容量为maxSize,则循环队列中元素的个数是【 (rear-front+maxSize) mod maxSize】。4、线性链表线性链表是线性表的链式存储结构。
用链表表示线性表的优点是【便于插入和删除操作】。线性链表的存储空间不一定连续,且个元素的存储顺序是任意的。
5、树与二叉树在树结构中,一个结点所拥有的后件(继)的个数称为该结点的度,所有结点中最大的度称为树的度。二叉树各结点的度只可能取值0、1、2,不可能是其它值。
换言之,知道了度为1结点数量的前提下,叶子结点或度为2的结点中知道其一,就可以求出总的结点数。上述的计算公式,关键要能够应用,例如,深度为7的满二叉树,度为2的结点数量是多少?既然是满二叉树,叶子结点的数量就是第7层的结点数量,也就是26,可以算出叶子结点为64,因此度为2的结点数是63(叶子结点数减去1)。
二叉树的前序遍历、中序遍历、后续遍历:前中后三个词是相对于根来讲的,前序是【根-->左-->右】,中序是【左-->根-->右】,后续是【左-->右-->根】。具体操作为:先序遍历(D L R): 访问根结点,按先序遍历左子树,按先序遍历右子树。
中序遍历(L D R): 按中序遍历左子树,访问根结点,按中序遍历右子树。后序遍历(L R D): 按后序遍历左子树,按后序遍历右子树,访问根结点。
下面以中序遍历为例,来讲解实际的解题方法:对一棵树,将根结点下的左子树用一个椭圆圈起来,右子树也用一个椭圆圈起来。之后,在左子树上标记上1,在根结点标记上2,在右子树上标记上3。
对在左边椭圆内的左子树,现在把它单独拿出来分析。把它的左子树圈起来标上1.1,根结点标记上1.2,右子树标上1.3。
按照上述方法依次往下,直到树不能拆分,然后按照“左-->根--->右”的顺序写出结点的访问先后即可。6、查找技术对于长度为n的线性表,顺序查找最坏情况下需要比较n次。
(对数据是否有序没有要求)。◆ 顺序查找最好情况下查询次数是1,最坏情况下是n,平均为(1+n)/2。
对于长度为n的有序线性表,二分法最坏情况下只需要比较log2n次。(数据必须有序)能用二分法进行查找的是【顺序存储的有序线性表】。
7、排序技术对于长度为n的线性表,【冒泡排序、快速排序、简单插入排序、简单选择排序】这四种排序方式在最坏情况下的比较次数相同,都是【n(n-1)/2】。堆排序的效率最高,是【nlog2n】。
★★ 希尔排序最坏情况下需要次比较【n1.5】。希尔排序属于【插入类排序法】。
已知数据表A中每个元素距最终位置不远,为节省时间,应该采用的算法是【直接插入排序】。选择排序、插入排序、快速排序、归并排序中对内存要求最大的是【归并排序】。
第二部分 软件工程基础 1、软件工程基本概念软件是包括【程序】、【数据】及【相关文档】的完整集合,软件是一种逻辑产品。软件工程三要素包括【方法、工具。
计算机等级考试二级必须考公共基础知识,计算机二级考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。
考试科目:语言程序设计(C、C++、Java、VisualBasic、WEB)、数据库程序设计(VisualFoxPro、Access、MySQL)、办公软件(MSOffice高级应用)共九个科目。新增"MySQL数据库程序设计"、"WEB程序设计"、"MSOffice高级应用"三个科目。二级Delphi科目将从2013年上半年开始停考,不再接受新考生报名,该次只接受补考考生报名,从第38次全国计算机等级考试(2013年9月)起,不再开考。
考试形式:完全采取上机考试形式,各科上机考试时间均为120分钟,满分100分。总分达到60分,可以获得合格证书,没有获得合格证书的考生,不再安排补考,需以新考生身份报名参加考试。参加2013年3月全国计算机等级考试二级7个科目补考的老考生,仍按照传统模式参加补考。
获证条件:通过二级科目考试。
考核内容:二级定位为程序员,考核内容包括公共基础知识和程序设计。所有科目对基础知识作统一要求,使用统一的公共基础知识考试大纲和教程。二级公共基础知识在各科考试选择题中体现。程序设计部分,主要考查考生对程序设计语言使用和编程调试等基本能力,在选择题和操作题中加以体现。
题型及分值比例:①选择题40题,40%;②程序设计题3题,60%。
上机考试环境及使用的软件:全国计算机等级考试二级上机考试环境为Windows7简体中文版。各科目使用的软件如下:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:3.767秒