为了方便计算机等级试,特意整理出来的。
第一章数据结构与算法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.1 算法
算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括:
(1)可行性;
(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;
(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;
(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念
数据结构研究的三个方面:
(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;
(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;
(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,当时我已经学习过C语言了,但是对于计算机二级的公共基础知识中涉及的数据结构(考过并且学过之后还是觉得数据结构占很大部分)网络基础之类的东西一点意识都没有,但是我不建议你再专门学习这些课,因为公共基础知识考的很简单,只是表面的一些东西,深究起来倒会有很多不明白。楼上两位朋友都说的很对,这个东西希望你去买一本书,最好有上机和笔试两部分,并且有真题。谭浩强那本书很好,如果你认真看C语言是一点问题都没有的,之所以还需要真题,是因为上机题就是那几种类别,个人感觉不会很难;笔试的内容不要死记硬背,你在选择真题时买那种有详细简答的,就是给出答案后会对这道题涉及的知识点有一个梳理的那种。比如说有道题是二叉树的前序遍历,然后它会在后面告诉你什么是二叉树,二叉树有三种遍历方式:前序,中序和后序,并且结合题目具体给出各个结点的排序。这种方式很容易接受,况且咱们主要目的是会运用这些知识答题,所以结合题目来复习是最好的。至于具体买哪本书,楼主自己挑挑,其实市面上卖的书都差不多。
以上是我个人的一点经验,希望对你的复习会有所帮助。祝你新年快乐并且能够在考试中取得好成绩。
您好,中公教育为您服务。
全国计算机等级考试二级公共基础
知识考试大纲(2013年版)
基本要求
1. 掌握算法的基本概念。
2. 掌握基本数据结构及其操作。
3.
掌握基本排序和查找算法。
4. 掌握逐步求精的结构化程序设计方法。
5.
掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。
6.
掌握数据库的基本知识,了解关系数据库的设计。
考试内容
一、基本数据结构与算法
1.
算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2.
数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3.
线性表的定义;线性表的顺序存储结构及其插入与删除运算。
4. 栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
5.
线性单链表、双向链表与循环链表的结构及其基本运算。
6. 树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
7.
顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、程序设计基础
1. 程序设计方法与风格。
2.
结构化程序设计。
3. 面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、软件工程基础
1.
软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。
2. 结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3.
结构化设计方法,总体设计与详细设计。
4.
软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5.
程序的调试,静态调试与动态调试。
四、数据库设计基础
1. 数据库的基本概念:数据库,数据库管理系统,数据库系统。
2.
数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。
3.
关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4.
数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。
考试方式
1.
公共基础知识不单独考试,与其他二级科目组合在一起,作为二级科目考核内容的一部分。
2. 考试方式为上机考试,10道选择题,占10分。
如有疑问,欢迎向中公教育企业知道提问。
计算机二级公共基础知识是计算机中综合性知识,占30分。
包含的科目有数据结构,软件工程,算法设计与分析,数据库设计等。而这些科目都属于计算机专业必修课,也是一个程序员的必备理论基础。
我们知道二级的目标定位就是程序员的水平,所以这些科目都是必考内容。 那么如何备考呢?实际上很简单,只要买一本教育部考试中心出版的计算机二级考试公共基础知识大纲级指导书(一定是教育部出版发行的那种),回来抽个时间仔细研读一番就可以了,而且无须做大量练习题,因为二级要求不高,停留在概念的阶段。
复习时,不要将其看的太重,因为大家的水平都差不多,除非计算机专业的。 ========================================== 全国计算机等级考试二级公共基础知识考试大纲 基本要求 1。
掌握算法的基本概念。 2。
掌握基本数据结构及其操作。 3。
掌握基本排序和查找算法。 4。
掌握逐步求精的结构化程序设计方法。 5。
掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。 6。
掌握数据的基本知识,了解关系数据库的设计。 考试内容 一、基本数据结构与算法 1。
算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。 2。
数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。 3。
线性表的定义;线性表的顺序存储结构及其插入与删除运算。 4。
栈和队列的定义;栈和队列的顺序存储结构及其基本运算。 5。
线性单链表、双向链表与循环链表的结构及其基本运算。 6。
树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。 7。
顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。 二、程序设计基础 1。
程序设计方法与风格。 2。
结构化程序设计。 3。
面向对象的程序设计方法,对象,方法,属性及继承与多态性。 三、软件工程基础 1。
软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境。 2。
结构化分析方法,数据流图,数据字典,软件需求规格说明书。 3。
结构化设计方法,总体设计与详细设计。 4。
软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。 5。
程序的调试,静态调试与动态调试。 四、数据库设计基础 1。
数据库的基本概念:数据库,数据库管理系统,数据库系统。 2。
数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。 3。
关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。 4。
数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。 。
至少要把教材通读两遍,把该记住的知识点都记牢,并且加以复习巩固。
可以根据考试大纲,对所做题型进行适当分类整理。也需要多做做往年的真题和模拟题了。
但是做这些题的时候不能大致看一眼,觉得自己会做就忽略不计,要反复练习,认真分析,最好再加以总结。要熟练掌握其操作步骤,考前一定要再重新练习一遍操作。
因为考试是有时间限制的,考试时心情又比较紧张,如果不熟练的话,很容易导致时间不够或者操作错误的时候乱了阵脚。全国计算机等级考试(,简称NCRE),是经原国家教育委员会(现教育部)批准,由教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识与技能的全国性计算机水平考试体系。
二级考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。
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、软件工程基本概念软件是包括【程序】、【数据】及【相关文档】的完整集合,软件是一种逻辑产品。软件工程三要素包括【方法、工具。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:3.517秒