2019国家计算机二级考试。取消“Visual FoxPro数据库程序设计”科目(代码:27),2017年12月是其最后一次组考。新增“Python语言程序设计”科目(代码:66),考试时长:120分钟,软件要求:Python 3.5.2版本及以上 IDLE,2018年9月首次开考。
自2019年3月考试起,二级语言类及数据库类科目(即除MS Office高级应用外的其他二级科目)调整获证条件为:总分达到60分且选择题得分达到50%及以上(即选择题得分要达到20分及以上)的考生方可取得合格证书。
扩展资料:
全国计算机等级考试调整方案
从2018年3月开始,全国计算机等级考试将实施2018版考试大纲,并按新体系开考各个考试级别。具体调整内容如下:
一、考试级别及科目
1、一级。新增“网络安全素质教育”科目(代码:17),考试时长 90分钟,将于2019年9月首次开考。
2、二级。取消“Visual FoxPro数据库程序设计”科目(代码:27),2017年12月是其最后一次组考。新增“Python语言程序设计”科目(代码:66),考试时长:120分钟,软件要求:Python 3.5.2版本及以上 IDLE,2018年9月首次开考。
自2019年3月考试起,二级语言类及数据库类科目(即除MS Office高级应用外的其他二级科目)调整获证条件为:总分达到60分且选择题得分达到50%及以上(即选择题得分要达到20分及以上)的考生方可取得合格证书。
3、三级。2018年3月起暂停“软件测试技术”科目(代码:37)。自2018年3月考试起改变三级获证条件要求,考生只需通过三级考试即可获得该三级科目的合格证书,不再要求二级证书。
4、四级。暂停“软件测试工程师”科目(代码:43)。专业基础课程暂停软件工程(课程代码:405)。四级数据库工程师科目考试课程由“404、405”调整为“401、404”。四级获证条件不变:通过四级科目的考试,并已经(或同时)获得三级相关证书。
二、考试软件
二级C、C++两个科目应用软件由Visual C++6.0改为Visual C++ 2010学习版(即Visual C++ 2010 Express)。
三、教材及宣传
新科目教材预计2018年3月出版,其他科目教材2017年11月上市。新科目、新教材的宣传资料,将在NCRE网站()公布。
计算机二级考试包含:程序设计/办公软件高级应用,考核内容包括计算机语言与基础程序设计能力,要求参试者掌握一门计算机语言,可选类别有高级语言程序设计类、数据库程序设计类等;
办公软件高级应用能力,要求参试者具有计算机应用知识及MS Office办公软件的高级应用能力,能够在实际办公环境中开展具体应用。
从2013年开始全国计算机等级考试已从传统的笔试和上机考试改革成无纸化考试,二级Delphi科目从2013年上半年开始停考。从 2018 年 3 月开始,将实施 2018 版考试大纲,并按新体系开考各个考试级别。
二级取消“Visual FoxPro 数据库程序设计”科目(代码:27),2017年 12 月是其最后一次组考。新增“Python 语言程序设计”科目(代码:66),考试时长:120 分钟,2018 年 9 月首次开考。
扩展资料
成绩评定流程
1、成绩评定流程如下:各级上机考试的成绩由考生交卷后由计算机直接评分给出,机器阅卷,并由考点汇总并与答题卡一起提交至北京,但是除了0分考生以外,考生无法当场得到具体的成绩。
另外,一级考生、补考上机的考生将要和其余考生一样在当地的成绩公布日才能得到成绩;当北京方面将试卷评阅完毕后,会将各省的成绩合格信息汇总并发回给各省的主考部门,并由各省的主考部门来决定具体的成绩公布的时间。
2、少部分考点将会通报考生的具体成绩分数,大部分考点及一般的查询方法将会通报考生的等级。总成绩取笔试和上机成绩中最低的一个。总成绩在及格及其以上者为通过考试。
3、部分省市一级成绩查询时会报告“笔试不及格”,这是由于一级没有笔试,只要一级上机合格者即可获得一级合格证书。
4、合格证书一般在考生当地公布成绩1个月后发放,具体时间视各地情况而略有不同。单科合格成绩单的发放有地域性,具体发放单科证书问题请咨询当地考点。
参考资料来源:百度百科—计算机二级考试
计算机二级公共基础知识是计算机中综合性知识,占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。
数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。 。
计算机基础知识1、按信息的表示和处理方式分:数字电子计算机,模拟电子计算机2、信息技术包括微电子技术、感测技术(传感和测量)计算机技术、通信技术、控制技术、智能技术等3、计算机实质上是对数字化信息进行处理的机器计算机的信息分成两大类:数据、程序。
数据是被处理的对象,程序是指示计算机工作,处理数据的一连串指令。4、计算机信息处理指的是计算机对信息的编码、存储、转换、传输、检测等5、计算机的工作原理可以概括为:存储程序,逐条执行。
这个设计思想由美籍匈牙利数学家冯。诺依曼明确提出并付诸实现,数据和程序用二进制形式表示。
6、差分机,1822年巴贝奇设计的计算工具。分析机,1834年他设计一台更完善的通用计算工具。
重要的是他的设计具备五个基本部分:输入装置、处理装置、存储装置、控制装置输出装置。7、计算机的分类:按信息的表示和处理方式;按计算机的用途;按规模与性能划分—巨型机、大型机、中型机、小型机与微型机。
微型机以微处理器、结构紧凑为途、为特征字长可达到64位,主存储器256MB~4GB字节,时钟频率3GHz以上。Apple和Macintosh不兼容8、1946年美国宾夕法尼亚大学诞生世界上第一台电子计算机取名电子数字积分计算器ENIAC它用了18000多个电子管、6000余个开关、7000个电阻、10000个电容器、、、运算速度5000次加法每秒9、第一代(1946~1957)电子管逻辑元件,第二代(1958~1964)晶体管逻辑元件,第三代(1965~1971)集成电路为主要功能器件第四代1972年至今计算机将CPU、存储器和I/O接口集成在大规模集成电路和超大规模集成电路芯片上10、计算机特点: 运算速度快、精确度高、具有记忆存储功能 、具有逻辑判断功能、高度自动化与灵活性1、计算机系统的组成计算机系统的组成包括硬件系统和软件系硬件系统包括:主机—内存储器和统中央处理器(中央处理器即CPU包括运算器和控制器) 外部设备,如输入、输出设备,外存储器。
软件系统包括:应用软件和系统软件,其中系统软件包括:操作系统、网络软件、编译软件、诊断软件、系统服务软件、程序设计程序2、计算机内部同时存在两股信息在流动,一股是数据流,是各种原始数据、中间结果等;一股是控制流,是由各种控制指令构成的。3、依照冯诺依曼体系结构,电子计算机系统由五部分组成:运算器、控制器、存储器(这三样成为计算机的主机)输入设备、输出设备(成为计算机的外部设备。)
1、运算器对二进制编码进行运算。(算术运算和逻辑运算)。
运算器和控制器合在一起做成一块半导体集成电路成为中央处理器即CPU 2、存储器,功能是存储程序和数据。计算机存储器通常有两种:内部和外部存储器。
外部存储器称为内存、主存储器,主要存放当前执行的程序和相关数据,存、取的速度快。造价高,所以容量一般比外部存储器小。
外部存储器称为外存、辅助存储器。主要存放大量计算机暂时不执行的程序以及目前尚不需处理的数据,它的造价低、容量大、速度慢。
CPU存、外部存储器的数据时候,都必须将数据先调入内部存储器。内部存储器是计算机的数据交换中心。
3、内部存储器采用半导体存储器,可以分两类,一类只能读不能写,成为只读存储器即ROM,保存的是计算机最终要的程序和数据,无法修改。另一类是既可以读又可以写的随机存储器RAM,关闭计算机后,随机存储器的数据和程序就被清除,主存储器或内存一般是指随机存储器。
4、输入设备是指计算机输入信息的设备。它的任务是向计算机提供原始数据,输入设备有键盘、鼠标、扫描仪、手写笔、触摸屏、条形码输入设备、数字化仪。
输出设备是指计算机中输出人可以识别的信息的设备,输出设备有显示器、打印机、绘图仪和扬声器等。4系统软件是指计算机的基本软件,为了使用和管理计算机而编写的各种应用程序。
系统软件包括监控程序、操作系统、汇编程序、解释程序、编译程序和诊断程序等。1、了解计算机的基本配置可以从以下项目考虑,制造商、型号、机箱样式、CPU型号、内存、主板、显示卡、硬盘、光驱、声效卡、网卡、鼠标、键盘等2、PC机的主机板叫母板或底板,是主机的核心部件,它包含中央处理器CPU、书值协助处理器(插座)、只读存储器ROM、随机存取存储器RAM,还有扩展槽和各种接口3、外存储器1、软盘驱动器简称软驱2、硬盘驱动器在技术上的几项重要指标:容量,容量越大越好。
平均寻道时间,时间越短越好。主轴转速,一般是5400~~7200转每分钟。
3、光盘驱动器CD-ROM DVD-ROM。它有容量大、速度快、兼容性强、盘片成本低等特点。
4、闪存CompactFlash、SmartMedia、MemoryStick、和优盘.它们的作用都是相同的:保存数据和转移数据。使用非易失性存储技术,体积少,容量大,但是成本高4、输入设备,有键盘,有101键和104键;鼠标可分为机械鼠标和光学球鼠标和轨迹球鼠标三大类。
;扫描仪,是一种图像输入设备,通过扫描,把信息输入电脑中。数字化仪是一种图形输入设备把图形的形式转换成相应的计算机可识别的数字信号,。
为了方便计算机等级试,特意整理出来的。
第一章 数据结构与算法 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.掌握数据库的基本知识,了解关系数据库的设计。
考试内容
一、基本数据结构与算法
1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。
4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
5.线性单链表、双向链表与循环链表的结构及其基本运算。
6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、程序设计基础
1.程序设计方法与风格
2.结构化程序设计。
3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、软件工程基础
1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。
2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3.结构化设计方法,总体设计与详细设计。
4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5.程序的调试,静态调试与动态调试。
四、数据库设计基础
1.数据库的基本概念:数据库,数据库管理系统,数据库系统。
2.数据模型,实体联系模型及E―R图,从E―R图导出关系数据模型。
3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理 论。
4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。
考试方式
1.公共基础知识的考试方式为笔试,与C语言程序设计(C++语言程序设计、Java语言程序设计、Visual Basic语言程序设计、Visual FoxPro数据库程序设计或Access数据库程序设计)的笔试部分合为一张试卷,公共基础知识部分占全卷的30分。
2.公共基础知识有l0道选择题和5道填
全国计算机等级考试(二级)考试大纲 基本要求 1。
具有计算机的基础知识。 2。
了解操作系统的基本概念,掌握常用操作系统的使用。 3。
掌握基本数据结构和常用算法,熟悉算法描述工具──流程图的使用。 4。
能熟练地使用一种高级语言或数据库语言编写程序、调试程序。 考试内容 一、基础知识与基本操作 (一)基础知识1。
计算机系统的主要技术指标与系统配置。 2。
计算机系统、硬件、软件及其相互关系。 3。
微机硬件系统的基本组成。包括:中央处理器(运算器与控制器),内存储器(RAM与ROM),外存储器(硬盘、软盘与光盘),输入设备(键盘与鼠标)输出设备(显示器与打印机)。
4。软件系统的组成,系统软件与应用软件;软件的基本概念,文档;程序设计语言与语言处理程序(汇编程序、编译程序、解释程序)。
5。计算机的常用数制(二进制、十六进制及其与十进制之间的转换);数据基本单位(位、字节、字、字长)。
6。 计算机的安全操作;计算机病毒的防治。
7。计算机网络的一般知识。
8。多媒体技术的一般知识。
(二) DOS的基本操作1。操作系统的基本功能与分类。
2。DOS操作系统的基本组成。
3。文件、目录、路径的基本概念。
4。常用DOS操作,包括: 初始化与启动;文件操作(TYPE,COPY,DEL,REN,XCOPY,ATTRIB);目录操作(DIR,MD,CD,RD,TREE,PATH);磁盘操作(FORMAT,DISKCOPY,CHKDSK);功能操作(VER,DATE,TIME,CLS,PROMPT,HELP);批处理(批处理文件的建立与执行,自动批处理文件);输入输出改向。
(三) WINDOW的基本操作1。Windows的特点、基本构成及其运行环境。
2。Windows用户界面的基本元素。
包括:窗口、图标、菜单、对话框、按钮、光标等。 3。
Windows基本操作。包括:启动与退出,鼠标操作,窗口操作,图标操作、菜单操作,对话框操作。
二、程序设计 1。能运用结构化程序设计方法编写程序。
2。掌握基本数据结构和常用算法。
3。能熟练使用一种高级或一种数据库语言(共有QBASIC、FORTRAN、PASCAL、C以及FOXBASE等五种语言,考生任选其中一种。
各种语言的考试内容附后)。 三、上机操作 在指定的时间内使用微机完成下述操作: 1。
完成指定的计算机基本操作(包括机器启动和操作命令的使用)。 2。
按给定要求编写和运行程序。 3。
调试程序,包括对给出的不完善的程序进行修改和补充,使之能得到正确的结果。 各种语言的考试内容 一、QBASIC语言程序设计 (一) QBASIC的基本概念1。
QBASIC提供的数据类型。 2。
常量和变量的概念、变量的命名规则、变量的类型说明。 3。
运算符和运算规则(算术运算、关系运算、逻辑运算、字符运算)。 4。
表达式(算术表达式、关系表达式、逻辑表达式、字符表达式)的概念及求值。 (二)顺序结构程序设计1。
变量的赋值(LET语句)。 2。
数据输出(PRINT语句)。 3。
数据输入(INPUT语句,READ/DATA语句,RESTORE语句)。 4。
程序停止执行(END语句,STOP语句)。 5。
程序注释(REM语句)。 (三)选择结构程序设计1。
行IF语句。 2。
块IF结构。 3。
SELECT CASE结构。 4。
选择结构的嵌套。 (四)循环结构程序设计1。
循环的概念。 2。
WHILE循环结构。 3。
FOR-NEXT循环结构。 4。
DO循环结构。 5。
循环结构的嵌套。 (五)数组1。
数组和数组元素。 2。
数组定义的方法。 3。
引用数组元素的方法。 4。
静态数组和动态数组。 5。
一维数组和多维数组。 6。
数组的运算。 (六)函数与子程序1。
标准函数。 2。
单行自定义函数和多行自定义函数的定义和引用。 3。
块内子程序──子例程(GOSUB-RETURN语句,ON GOSUB-RETURN语句及ON KEY(n)GOSUB-RETURN语句)。 4。
独立模块的子程序的定义(SUB-END SUB语句)和调用(CALL语句)。 5。
模块化函数的定义(FUNCTION-END FUNCTION语句)和调用。 6。
模块间的数据传递(虚实结合)。 7。
全局变量与局部变量。 8。
过程的嵌套调用。 9。
过程的递归调用。 (七)字符处理1。
字符串和字符串变量的概念。 2。
字符串变量的赋值。 3。
字符串的运算。 4。
字符串函数。5。
字符串数组。(八)文件1。
文件的概念。 2。
对源程序文件的操作。 3。
对顺序文件的操作。4。
记录型变量的定义(TYPE-END TYPE语句)和随机文件的操作。 (九)屏幕控制与作图1。
屏幕控制(CLS语句,LOCATE语句)。 2。
显示模式的控制(SCREEN语句)。 3。
颜色的设置(COLOR语句)。 4。
标准作图语句(PSET语句,PRESET语句,LINE语句,DRAW语句和CIRCLE语句)。 5。
图形的着色(PAINT语句)。 二、FORTRAN语言程序设计 (一)FORTRAN程序的结构、书写规则1。
FORTRAN程序的构成(主程序和子程序)。 2。
FORTRAN源程序的书写格式。 (二)数据类型及其运算1。
常量和变量的类型(整型、实型、双精度型、复型、逻辑型、字符型)。 2。
定义变量类型的方法(用I-N规则隐式说明和显示说明)。 3。
符号常量及其定义方法(PARAMETER语句)。 4。
运算符及运算优先级。 。
第一章数据结构与算法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)用于存放指针,称为指针域,用于指向前一个或后一个结点。
在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。链式存储方式即可用于表示线性结构,也可用于表示非线性结构。
线性链表,HEAD称为头指针,HEAD=NULL(或0)称为空表,如果是两指针:左指针(Llink)指向前件结点,右指针(Rlink)指向后件结点。线性链表的基本运算:查找、插入、删除。
1.6 树与二*树树是一种简单的非线性结构,所有元素之间具有明显的层次特性。在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称树的根。
每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。
在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。树的最大层次称为树的深度。
二*树的特点:(1)非空二*树只有一个根结点;(2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。二*树的基本性质:(1)在二*树的第k层上,最多有2k-1(k≥1)个结点;(2)深度为m的二*树最多有2m-1个结点;(3)度为0的结点(即叶子结点)总是比度为2的结点多一个;(4)具有n个结点的二*树,其深度至少为[log2n]+1,其中[。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:2.610秒