计算机二级考试基础知识汇总
- 格式:doc
- 大小:218.50 KB
- 文档页数:23
全国计算机二级考试基础知识1、算法:是对一个问题求解步骤的一种描述,具有以下5个主要特性:有穷性,确定性,可行性,输入(有零个或者多个输入),输出(有一个或者多个输出)。
算法的有穷性是指算法必须在有限的时间内做完,即算法必须在有限个步骤之后执行终止。
2、在算法正确的前提下,评价一个算法的两个标准是即——算法复杂度包括时间复杂度和空间复杂度。
其中时间复杂度是指执行算法所需要的计算工作量。
空间复杂度是算法所需空间的度量。
3、算法分析的目的是分析算法的效率以求改进。
4、数据项是数据的最小单位。
数据的最小访问单位是字段。
5、一般说来,数据结构包括数据的逻辑结构、数据的存储结构、数据的操作3个方面。
6、数据的存储结构是指数据的逻辑结构在计算机中的表示。
一种逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率。
7、在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间前后件的信息。
8、在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,数据定义语言负责数据的模式定义与数据的物理存取构建。
9、线性数据结构:队列,线性表,栈等等。
常用的结构数据模型有关系型、网状型和树型。
10、线性表中的元素之间具有一对一的关系,除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前驱和直接后驱。
顺序存储是线性表的一种最常用的存储方式。
11、栈的基本运算有三种:入栈、退栈和读栈。
12、栈是限定仅在表尾进行插入和删除操作的线性表。
允许插入和删除的一端叫做“栈顶”,不允许插入和删除的一端叫做“栈底”栈的修改只能在栈顶进行,按照后进先出的原则,具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。
13、队列是限定了插入和删除操作的线性表。
它只允许在表的一端进行插入操作(队尾),而在另外一端进行删除操作(队头),队列的修改可以在两端进行,按照先进先出的原则。
14、数据结构分为逻辑结构和存储结构,循环队列属于存储结构。
全国计算机等级考试二级公共基础知识要点汇总第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
全国计算机二级公共基础知识汇总计算机二级公共基础知识是指计算机技术基础知识和应用能力的考核指标,主要包括计算机硬件知识、操作系统知识、计算机网络知识和应用软件知识等多个方面。
下面是对这些知识的详细汇总。
一、计算机硬件知识1.计算机硬件组成:CPU、内存、硬盘、显示器、键盘、鼠标等。
2.计算机的基本原理:二进制原理、信息表示与处理、逻辑门电路等。
3.中央处理器(CPU):主频、Cache、指令集、微架构等。
4.内存:主存和辅存的区别、存储器的层次结构、内存管理等。
5.硬盘:磁盘的组成、磁头的读写过程、磁盘的分区与格式化等。
6.显示器:分辨率、刷新率、色彩深度、投影仪等。
7.输入输出设备:键盘、鼠标、打印机、扫描仪、摄像头等。
8.扩展设备:声卡、显卡、网卡、USB接口等。
二、操作系统知识1.操作系统的功能和分类:任务管理、文件管理、内存管理、设备管理等。
2.Windows操作系统:常见的Windows版本、桌面环境、文件系统、任务管理等。
3.Linux操作系统:常见的Linux发行版、命令行界面、文件系统、用户管理等。
4.进程管理:进程的概念、进程调度、进程同步与互斥等。
5.线程管理:线程的概念、线程与进程的区别、线程同步与互斥等。
6.文件管理:文件的操作、文件的属性、文件系统的结构等。
7.输入输出管理:设备的管理、设备驱动程序、中断和DMA等。
8.网络管理:网络的概念、协议栈、IP地址、路由等。
三、计算机网络知识1.网络的分类:局域网、广域网、互联网、因特网等。
2.数据通信和网络协议:数据的发送和接收、分组交换、网络协议的分层等。
3.网络体系结构:TCP/IP体系结构、OSI参考模型等。
4.网络通信设备:路由器、交换机、集线器、网卡等。
5.网络地址:IP地址、子网掩码、默认网关、DNS等。
6.网络安全:网络攻击与防范、防火墙、VPN等。
7.网络应用:常用的网络服务和应用协议、浏览器、电子邮件等。
8.网络管理:网络配置、故障排除、网络性能监测等。
全国计算机二级公共基础知识汇总计算机二级公共基础知识是计算机专业人员必备的基本知识,包括计算机基本原理、操作系统、网络原理、数据库原理和计算机应用等方面的知识。
下面是全国计算机二级公共基础知识的完整汇总。
一、计算机基本原理:计算机硬件的组成和工作原理,包括中央处理器、存储器、输入输出设备等。
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等技术。
二级计算机基础知识点归纳计算机基础知识是计算机科学和技术的起点,是理解计算机原理和操作的基础。
以下是一些重要的二级计算机基础知识点的归纳。
1.计算机组成与原理:计算机是由硬件和软件组成的系统。
硬件包括中央处理器(CPU)、内存、输入设备、输出设备和存储设备等。
原理包括指令集、运算方式、寻址方式和中断等。
2. 操作系统:操作系统是计算机的核心软件,负责管理硬件和软件资源。
常见的操作系统有:Windows、Linux和macOS等。
掌握操作系统的基本功能、管理文件和进程、网络和安全等概念。
3.数据结构与算法:数据结构是组织和管理数据的方式,常见的数据结构有数组、链表、栈、队列、树和图等。
算法是解决问题的步骤和方法,掌握一些常见的算法如查找、排序和图算法等。
4. 网络与通信:计算机网络是计算机之间相互连接的网络,包括本地局域网(LAN)、广域网(WAN)、因特网(Internet)等。
掌握网络协议如TCP/IP、HTTP、FTP等,了解网络安全和常见的通信协议。
5. 数据库管理系统(DBMS):DBMS是管理和组织数据的系统,常见的关系型数据库有MySQL、Oracle和SQL Server等。
掌握数据库的基本概念,如表、字段、索引和关系等,了解SQL语言和数据库设计。
6. 编程语言:掌握至少一种编程语言,如Python、Java、C++或C#等。
了解编程语言的基本语法、数据类型、控制结构、函数和面向对象编程等。
能够实现基本的算法和数据结构。
7.计算机安全:了解计算机安全的基本概念和常见的威胁,如病毒、黑客、网络攻击和身份验证等。
了解常见的安全保护措施,如防火墙、加密和权限管理等。
8.软件工程:掌握软件开发的基本过程和方法,如需求分析、设计、编码、测试和维护等。
了解软件生命周期和质量保证的方法,如代码审查、测试计划和版本控制等。
9.硬件与维护:了解计算机硬件的基本原理和组成,如CPU、内存、硬盘和显卡等,能够进行硬件的安装和维护。
计算机基础第一章 计算机的发展§1.1计算机的发展史1.ENIAC(埃尼阿克):战争催生了第一台电子计算机,30多吨重,170平方,速度却很低下,1946年(20世纪40年代)产于美国。
2.冯·诺依曼:现代计算机之父。
冯·诺依曼计算机原理:①采用二进制:在计算机内部,程序和数据采用二进制形式进行存储。
②程序储存,自动执行:程序和数据存放在存储中,无需人工进行干涉。
3.发展历程:采用不同元件:①电子管:稳定性好,功耗和体积大;②晶体管:体积小;③中小规模集成电路:集成度越高,体积越小功耗越低;④大规模超大规模集成电路:集成度越高,体积越小功耗越低。
4.电子计算机的发展过程:(年份&器件考的最多,其他不考)§1.2计算机的应用、特点和分类1.计算机的特点:(不常考)①高速精确的运算能力;②准确的逻辑判断能力;③强大的存储能力;④自动功能;⑤网络与通信功能。
2.计算机的应用:①早期:主要用于大型计算;②现在:应用广泛:a.科学计算:·进行数值运算;推动科研技术的发展;·应用领域:基因测序/轨道计算/天气预报/云计算。
b.数据/信息处理:·进行非数值运算;图像、文字、声音等信息处理;·典型应用:OA办公系统。
c.过程控制:(实时控制)应用于工业制造;d.计算机辅助:·让计算机代替人的部分工作·CAD计算机辅助设计;CAM计算机辅助制造;CAI计算机辅助教育;·CAT计算机辅助技术;CIMSS计算机集成制造系统。
e.网络通信:购物、聊天、搜索;f.人工智能:游戏中的人机对战模式;g.多媒体应用:文本、图像、声音、视频;h.嵌入式系统:mp3、相机、手机、电视。
§1.3未来计算机发展趋势(不考?了解一下即可)1.发展方向:①巨型化:计算速度更快、存储容量更大、功能更完善、可靠性更高、运算速度可达万万亿次/秒、存储容量超过几百T字节。
计算机二级知识点汇总计算机二级是一种国家技术级别认证考试,主要测试考生在计算机基础知识和技能方面的水平。
下面是计算机二级考试的一些知识点和相关参考内容。
一、计算机基础知识1. 二进制和十进制转换参考内容:了解二进制和十进制的概念、互相转换的方法、计算机中的二进制表示方式等。
2. 计算机的主要硬件组成参考内容:了解计算机的硬件组成,包括中央处理器(CPU)、内存、硬盘、显卡等,以及它们的功能和作用。
3. 计算机的操作系统参考内容:了解计算机操作系统的概念、常见的操作系统类型(如Windows、Linux、macOS)以及它们的特点和功能。
4. 计算机网络基础参考内容:了解计算机网络的基本概念、网络的分类、常见的网络设备(如路由器、交换机)以及网络通信的原理和协议(如TCP/IP)。
5. 数据库基础参考内容:了解数据库的基本概念、数据库管理系统(如MySQL、Oracle)的安装和使用、SQL语言等。
二、常用计算机软件1. Microsoft Office套件参考内容:包括Word、Excel、PowerPoint等软件的基本操作、常用功能和快捷键。
2. 图像处理软件参考内容:了解图像处理软件(如Photoshop、GIMP)的基本操作、常用工具和功能。
3. 多媒体播放软件参考内容:了解音频和视频的基本概念、常见的多媒体播放软件(如Windows Media Player、VLC)的使用方法。
4. 网页设计与开发工具参考内容:了解网页设计和开发的基本概念、常用的网页设计和开发工具(如Dreamweaver、Sublime Text)的使用方法。
三、计算机应用技能1. 电子邮件和互联网应用参考内容:了解电子邮件的使用方法、常见的电子邮件客户端(如Outlook、Gmail)的设置和使用、互联网的基本概念和常用功能。
2. 移动设备和应用参考内容:了解智能手机、平板电脑等移动设备的基本操作、常用应用的下载和使用、移动应用开发的基本知识。
全国计算机二级基础知识点汇总1.算法丌等亍程序,也丌等亍计算方法。
程序的编制丌可能优亍算法的设计2.算法的特点:可行性、确定性、有穷性、拥有足够的情报3.算法复杂度主要包括时间复杂度和空间复杂度。
4.时间复杂度指的是需要运算的次数空间复杂度指的是运算所需要的内存空间5.数据结构包括数据的逻辑结构和数据的存储结构6.算法的执行效率不数据的存储结构有关数据的存储结构有顺序、链接、索引等。
7.数据结构中不所使用的计算机无关的是数据的逻辑结构8.数据结构应该包含的信息由:数据元素的集合 d 和数据的前后件关系 r9.数据结构中包括两种基本操作:插入运算和删除运算10.根结点:表示没有前件的结点叶子结点:表示没有后件的结点11.线性表表中的每一个数据元素,除了第一个外,有且叧有一个前件,除了最后一个外,有且叧有一个后件12.常见的线性结构有线性表、栈、队列和线性链表等。
13.常见的非线性结构有树、二叉树和图等。
14.线性表是一种存储结构,它的存储方式:顺序和链式15.栈是限定在一端进行插入不删除运算的线性表。
16.栈是按照“先进后出”或“后进先出”的原则组织数据的17.队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表18.队列是“先进先出”或“后进后出”的线性表。
19.线性链表:是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接来实现的20.每个结点由两部分组成:一部分用亍存放数据元素的值,称为数据域;另一部分用亍存放指针,称为指针域,用亍指向该结点的前一个或后一个结点(即前件或后件)21.线性链表分为单链表、双向链表和循环链表三种类型。
22.顺性表的插入运算时需要秱动元素,在等概率情况下,平均需要秱动n/2 个元素。
23.在树结构中,每一个结点叧有一个前件,称为父结点。
24.没有前件的结点叧有一个,称为树的根结点,简称树的根。
25.每一个结点可以有多个后件,称为该结点的子结点。
计算机二级复习重点一、计算机基础知识1.计算机硬件基础计算机的五大部件:中央处理器、内存、硬盘、显示器、输入输出设备等。
对各个硬件部件的功能、特点等进行详细介绍。
2.计算机网络基础网络拓扑结构、网络通信协议、网络安全等。
掌握常见的网络拓扑结构如总线型、环形、星形、树形等,并了解各种网络协议如TCP/IP协议等。
3.操作系统基础常见操作系统的特点及使用方法,如Windows、Linux等。
了解操作系统的基本概念,如进程管理、文件系统、内存管理等。
4.数据库基础数据库的概念、类型、基本操作等。
了解关系型数据库和非关系型数据库的特点及其应用场景。
5.算法与数据结构常见的算法与数据结构,如排序算法、查找算法、栈、队列、链表、树等。
了解各种算法和数据结构的原理及应用。
二、办公软件应用1.Microsoft Office套件Word、Excel、PowerPoint等常见办公软件的功能及使用方法。
掌握Word排版、Excel公式运算、PowerPoint演示等重点应用。
2.图像编辑软件常见图像处理软件的使用方法,如Photoshop、Illustrator等。
掌握基本的图像编辑、合成、调色等操作。
3.音视频处理软件常见音视频处理软件的使用方法,如Premiere Pro、Audition等。
了解视频剪辑、音频处理等基本操作。
4.项目管理软件掌握常见的项目管理软件,如Microsoft Project等。
了解项目计划的制定、资源分配、进度跟踪等关键内容。
三、程序设计与开发1.编程语言掌握至少一门编程语言,如C、Java、Python等。
了解编程语言的基本语法、数据类型、流程控制等。
2.面向对象编程理解面向对象编程的原理和概念,如封装、继承、多态等。
掌握面向对象编程的基本思想及其应用。
3.软件开发过程了解软件开发的常见过程模型,如瀑布模型、敏捷开发等。
掌握软件需求分析、设计、编码、测试等关键步骤。
4.数据库编程掌握数据库编程的基本技术,如SQL语言、数据库连接、查询等。
第一章数据结构与算法经过对局部考生的调查以与对近年真题的总结分析,笔试局部经常考察的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此局部进展重点学习。
详细重点学习知识点: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表示〕,它是问题规模的函数。
计算机二级考试基础知识汇总第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.算法的空间复杂度算法的空间复杂度是指执行这个算法所需要的内存空间。
一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。
其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。
如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。
在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。
疑难解答:算法的工作量用什么来计算?算法的工作量用算法所执行的基本运算次数来计算,而算法所执行的基本运算次数是问题规模的函数,即算法的工作量=f(n),其中n是问题的规模。
1.2数据结构的基本概念考点3 数据结构的定义考试链接:考点3在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为识记内容,读者还应该识记数据的逻辑结构和存储结构的概念。
数据结构作为计算机的一门学科,主要研究和讨论以下三个方面:(1)数据集合中个数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据元素进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
数据的逻辑结构是对数据元素之间的逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合中的若干关系来表示。
数据的逻辑结构有两个要素:一是数据元素的集合,通常记为D;二是D上的关系,它反映了数据元素之间的前后件关系,通常记为R。
一个数据结构可以表示成B=(D,R)其中B表示数据结构。
为了反映D中各数据元素之间的前后件关系,一般用二元组来表示。
数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。
由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此,为了表示存放在计算机存储空间中的各数据元素之间的逻辑关系(即前后件关系),在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。
一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等存储结构。
而采用不同的存储结构,其数据处理的效率是不同的。
因此,在进行数据处理时,选择合适的存储结构是很重要的。
考点4 线性结构与非线性结构考试链接:考点4在笔试考试中,虽然说不是考试经常考查的内容,但读者还是对此考点有所了解,在笔试考试中出现的几率为30%,主要是以填空题出现的形式出现,分值为2分,此考点为识记内容。
根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。
如果一个非空的数据结构满足下列两个条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
则称该数据结构为线性结构。
线性结构又称线性表。
在一个线性结构中插入或删除任何一个结点后还应是线性结构。
如果一个数据结构不是线性结构,则称之为非线性结构。
疑难解答:空的数据结构是线性结构还是非线性结构?一个空的数据结构究竟是属于线性结构还是属于非线性结构,这要根据具体情况来确定。
如果对该数据结构的算法是按线性结构的规则来处理的,则属于线性结构;否则属于非线性结构。
1.3栈及线性链表考点5 栈及其基本运算考试链接:考点5在笔试考试中,是一个必考的内容,在笔试考试中出现的几率为100%,主要是以选择的形式出现,分值为2分,此考点为重点掌握内容,读者应该掌握栈的运算。
1.栈的基本概念栈是限定只在一端进行插入与删除的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。
当表中没有元素时称为空栈。
栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。
栈是按照"先进后出"或"后进先出"的原则组织数据的。
2.栈的顺序存储及其运算用一维数组S(1∶m)作为栈的顺序存储空间,其中m为最大容量。
在栈的顺序存储空间S(1∶m)中,S(bottom)为栈底元素,S(top)为栈顶元素。
top=0表示栈空;top=m表示栈满。
栈的基本运算有三种:入栈、退栈与读栈顶元素。
(1)入栈运算:入栈运算是指在栈顶位置插入一个新元素。
首先将栈顶指针加一(即top 加1),然后将新元素插入到栈顶指针指向的位置。
当栈顶指针已经指向存储空间的最后一个位置时,说明栈空间已满,不可能再进行入栈操作。
这种情况称为栈"上溢"错误。
(2)退栈运算:退栈是指取出栈顶元素并赋给一个指定的变量。
首先将栈顶元素(栈顶指针指向的元素)赋给一个指定的变量,然后将栈顶指针减一(即top减1)。
当栈顶指针为0时,说明栈空,不可进行退栈操作。
这种情况称为栈的"下溢"错误。
(3)读栈顶元素:读栈顶元素是指将栈顶元素赋给一个指定的变量。
这个运算不删除栈顶元素,只是将它赋给一个变量,因此栈顶指针不会改变。
当栈顶指针为0时,说明栈空,读不到栈顶元素。
栈是按照"先进后出"或"后进先出"的原则组织数据,但是出栈方式有多种选择,在考题中经常考查各种不同的出栈方式。
考点6 线性链表的基本概念考试链接:考点6在笔试考试中出现的几率为30%,主要是以选择的形式出现,分值为2分,此考点为识记内容。
重点识记结点的组成。
在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域,另一部分用于存放指针,称为指针域。
其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。
链式存储方式既可用于表示线性结构,也可用于表示非线性结构。
(1)线性链表线性表的链式存储结构称为线性链表。
在某些应用中,对线性链表中的每个结点设置两个指针,一个称为左指针,用以指向其前件结点;另一个称为右指针,用以指向其后件结点。
这样的表称为双向链表。
(2)带链的栈栈也是线性表,也可以采用链式存储结构。
带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,这种带链的栈称为可利用栈。
疑难解答:在链式结构中,存储空间位置关系与逻辑关系是什么?在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
1.4树与二叉树考点7 树与二叉树及其基本性质考试链接:考点7在笔试考试中,是一个必考的内容,在笔试考试中出现的几率为100%,主要是以选择的形式出现,有时也有出现在填空题中,分值为2分,此考点为重点掌握内容。
重点识记树及二叉树的性质。
误区警示:满二叉树也是完全二叉树,而完全二叉树一般不是满二叉树。
应该注意二者的区别。
1、树的基本概念树(tree)是一种简单的非线性结构。
在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点。
每一个结点可以有多个后件,它们称为该结点的子结点。
没有后件的结点称为叶子结点。
在树结构中,一个结点所拥有的后件个数称为该结点的度。
叶子结点的度为0。
在树中,所有结点中的最大的度称为树的度。
2、二叉树及其基本性质(1)二叉树的定义二叉树是一种很有用的非线性结构,具有以下两个特点:①非空二叉树只有一个根结点;②每一个结点最多有两棵子树,且分别称为该结点的左子树和右子树。
由以上特点可以看出,在二叉树中,每一个结点的度最大为2,即所有子树(左子树或右子树)也均为二叉树,而树结构中的每一个结点的度可以是任意的。
另外,二叉树中的每个结点的子树被明显地分为左子树和右子树。
在二叉树中,一个结点可以只有左子树而没有右子树,也可以只有右子树而没有左子树。
当一个结点既没有左子树也没有右子树时,该结点即为叶子结点。
(2)二叉树的基本性质二叉树具有以下几个性质:性质1:在二叉树的第k层上,最多有2k-1(k≥1)个结点;性质2:深度为m的二叉树最多有2m-1个结点;性质3:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。
性质4:具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示取log2n的整数部分。
在二叉树的遍历中,无论是前序遍历,中序遍历还是后序遍历,二叉树的叶子结点的先后顺序都是不变的。