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

计算机二级公共基础知识计算机二级公共基础知识计算机二级公共基础知识是计算机相关专业的考试科目之一,涵盖了计算机的基础概念、硬件和软件知识、网络与互联网等方面的内容。
本文将从计算机的基本原理、计算机硬件、计算机软件和网络与互联网等四个方面介绍计算机二级公共基础知识。
一、计算机的基本原理计算机是一台按照一定的程序运行的机器,它能够接收、处理、存储和输出数据。
其基本原理包括数据的输入和输出、数据的运算处理、程序的控制和数据的存储等。
1. 数据的输入和输出:计算机通过输入设备(键盘、鼠标等)接收用户输入的数据,经过处理后通过输出设备(显示器、打印机等)将结果输出给用户。
2. 数据的运算处理:计算机可以执行各种算术和逻辑运算操作,包括加减乘除、比较、逻辑运算等。
3. 程序的控制:计算机按照事先编写好的程序来执行任务,程序由一系列指令组成,计算机按照指令的顺序依次执行。
4. 数据的存储:计算机内部有各种存储器件,包括内存、硬盘、光盘等,用于存储数据、程序和中间结果。
二、计算机硬件计算机硬件是计算机体系结构的物理实现,包括中央处理器(CPU)、内存、输入输出设备等。
1. 中央处理器(CPU):是计算机的核心部件,负责执行指令、控制和协调各个硬件设备的工作。
2. 内存(RAM):用于存储正在运行的程序和数据,是计算机的临时存储器,其大小决定了计算机可以同时处理的数据量。
3. 输入输出设备:包括键盘、鼠标、打印机、显示器等,用于与计算机进行交互。
4. 存储设备:包括硬盘、光盘、U盘等,用于长期存储数据和程序。
三、计算机软件计算机软件是计算机能够运行的程序和数据的集合,分为系统软件和应用软件两类。
1. 系统软件:包括操作系统(如Windows、Mac OS)和一些常用的工具软件(如浏览器、图像处理软件),用于管理计算机的硬件资源和提供基本的功能。
2. 应用软件:包括办公软件、设计软件、编程软件等,用于满足用户特定的需求。
全国计算机二级公共基础知识汇总

全国计算机二级公共基础知识汇总计算机二级公共基础知识是指计算机技术基础知识和应用能力的考核指标,主要包括计算机硬件知识、操作系统知识、计算机网络知识和应用软件知识等多个方面。
下面是对这些知识的详细汇总。
一、计算机硬件知识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.网络管理:网络配置、故障排除、网络性能监测等。
全国计算机等级考试二级教程——公共基础知识

全国计算机等级考试二级教程——公共基础知识一、计算机的基本组成部分。
计算机由硬件和软件两部分组成,硬件包括中央处理器(CPU)、存储器、输入输出设备等;软件包括操作系统、应用软件等。
1.中央处理器(CPU):计算机的核心部件,执行所有指令。
2.存储器:存储数据和程序。
3.输入设备:把数据从外部输入到计算机中,如键盘、鼠标、扫描仪等。
4.输出设备:把计算机处理的数据输出到外部,如打印机、显示器、音响等。
二、计算机的工作原理。
计算机的工作原理可以分为5个部分:输入、存储、处理、输出和控制。
1.输入:把数据或指令输入到计算机中,通过输入设备进行输入。
2.存储:将输入的数据或指令存储在内存中。
3.处理:根据指令执行相应的操作,如计算、比较、排序等。
4.输出:将处理后的结果输出到外部,通过输出设备进行输出。
5.控制:计算机通过控制器控制各个部件的运行,以完成整个计算过程。
三、计算机的分类。
计算机按其用途和规模可以分为大型机、中型机、小型机和微型计算机。
1.大型机:主要用于大型企业和政府机关,可以同时处理多个用户的请求,性能强劲。
2.中型机:主要用于中小型企业,相对于大型机规模和性能较小。
3.小型机:主要针对个体户、小企业和办公室等,处理能力比微型计算机强。
4.微型计算机:用于一般個人用戶和小型企业,具有价格低廉、体积小及易操作的特点,性能相对其他计算机较弱。
四、操作系统。
操作系统是管理计算机硬件和软件资源的程序,它在计算机的各个层次上进行控制和管理,包括处理器的管理、内存的管理、文件系统的管理等等。
常见的操作系统有:Windows、Linux、Unix、Android等。
五、计算机网络。
计算机网络是指把分布在不同地点的计算机集成在一起,实现资源共享和信息传输的系统。
计算机网络的分层体系结构一般被分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
其中物理层和数据链路层主要负责数据传输的物理和链路层面的工作;网络层和传输层负责数据传输的网络和传输方面的工作;会话层、表示层和应用层则负责数据传输的高层次工作。
全国计算机二级公共基础知识汇总

全国计算机二级公共基础知识汇总计算机二级公共基础知识是计算机专业人员必备的基本知识,包括计算机基本原理、操作系统、网络原理、数据库原理和计算机应用等方面的知识。
下面是全国计算机二级公共基础知识的完整汇总。
一、计算机基本原理:计算机硬件的组成和工作原理,包括中央处理器、存储器、输入输出设备等。
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.1 算法1.1.1 算法的基本概念1、算法的基本特征可行性、确定性、有穷性、拥有足够的情报所谓算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。
2、算法的基本要素(1)算法中对数据的运算和操作在一般的计算机系统中,基本的运算和操作:算术运算、逻辑运算、关系运算、数据传输(2)算法的控制结构描述算法的工具:传统流程图、N-S结构化流程图、算法描述语言等一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成3、算法设计基本方法列举法、归纳法、递推(本质上也属于归纳法,递推关系式往往是归纳的结果)、递归(基础也是归纳,分为直接递归和间接递归两种)、减半递推技术、回溯法(“试”)1.1.2 算法复杂度1、算法的时间复杂度(执行算法所需要的计算工作量)算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数算法的工作量=f(n),n是问题的规模两个n阶矩阵相乘所需要的基本运算(即两个实数的乘法)次数为n3,即计算工作量为n3,也就是时间复杂度为n3对于一个固定的规模,算法所执行的基本运算次数还可能与特定的输入有关——可以用两种方法来分析算法的工作量:平均性态、最坏情况复杂性2、算法的空间复杂度(执行这个算法所需要的内存空间)如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的1.2 数据结构的基本概念数据结构主要有三个方面的问题:●数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构●在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构●对各种数据结构进行的运算提高数据处理的效率,主要包括两个方面:●提高数据处理的速度●尽量节省在数据处理过程中所占用的计算机存储空间1.2.1 什么是数据结构无序表,只能用顺序查找对分查找只适用于有序表(在词典中查单词的方法类似于对分查找)数据结构是指相互有关联的数据元素的集合(向量、矩阵、图书馆中的图书卡片目录……)在数据处理领域中,通常把数据元素之间这种固有的关系简单地用前后件关系(直接前驱与直接后继关系)来描述,前后件关系所表示的实际意义随具体对象的不同而不同1、数据的逻辑结构一个数据结构应包含以下两方面的信息:●表示数据元素的信息●表示各数据元素之间的前后件关系(数据元素之间的前后件关系是指它们的逻辑关系,而与它们在计算机中的存储位置无关)一个数据结构可以表示成:B=(D,R)D为数据元素的集合,R为D中各数据元素之间的前后件关系(一般用二元组来表示)a与b是D中的两个数据,则二元组(a,b)表示a是b的前件,b是a的后件2、数据的存储结构各数据元素在计算机存储空间中的位置关系与它们的逻辑关系不一定是相同的,而且一般也不可能相同一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等存储结构1.2.2 数据结构的图形表示在数据结构中,没有前件的结点称为根结点,没有后件的结点称为终端结点(叶子结点)数据结构中除了根结点与终端结点外的其他结点一般称为内部结点在对数据结构的处理过程中,不仅数据结构中的结点(即数据元素)个数在动态地变化,而且,各数据元素之间的关系也有可能在动态地变化1.2.3 线性结构与非线性结构根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构和非线性结构如果一个非空的数据结构满足两个条件:●有且只有一个根结点●每一个结点最多有一个前件,也最多有一个后件则称该数据结构为线性结构。
全国计算机等级考试二级教程——公共基础知识

全国计算机等级考试二级教程——公共基础知识一、操作系统操作系统是计算机系统中最基本的软件,其作用是管理、协调并控制各类计算机资源,提供给应用程序一个运行环境。
操作系统的特点:1. 并发:多个程序同时运行,需要操作系统管理和调度资源。
2. 共享:多个程序共享计算机资源,操作系统需要合理分配和控制资源的使用。
3. 虚拟:操作系统可以为每个应用程序提供一个虚拟的机器环境,使得每个应用程序都觉得自己在独占计算机资源。
4. 异步:程序的执行都是异步的,操作系统需要管理和协调程序的执行。
常见操作系统:1. Windows2. macOS3. Linux二、数据库数据库是一种用于存储和管理数据的软件系统,它可以提供对数据的快速访问和高效管理。
数据库的特点:1. 数据共享:多个用户可以同时访问数据库,并共享其中的数据。
2. 数据安全:数据库系统可以对数据进行安全控制,保证数据的完整性、一致性和安全性。
3. 数据独立:应用程序和数据库是独立的,应用程序只需要使用提供的数据接口访问数据库。
4. 数据持久化:数据库中的数据可以永久保存,即使电脑断电或重启也不会影响数据的保存。
常见数据库:1. MySQL2. Oracle3. SQL Server三、网络技术网络技术是计算机网络系统的核心,包含了数据传输、数据交换和数据处理等各种技术和方法,使得计算机和网络系统能够高效地进行数据交流和通信。
网络技术的特点:1. 数字化:计算机网络系统中所有数据都是以数字形式传输和处理的。
2. 传输速度快:计算机网络系统能够非常快地进行数据传输和处理。
3. 实时性:计算机网络系统中的数据传输和处理是实时的。
4. 全球化:计算机网络系统可以实现全球范围的数据传输和通信。
常见网络技术:1. TCP/IP协议2. 网络安全技术3. 无线网络技术。
计算机二级公共基础知识完整

第一章数据结构及算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分常常考查的是算法困难度, 数据结构的概念, 栈, 二叉树的遍历, 二分法查找,读者应对此部分进行重点学习。
具体重点学习知识点: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.计算机的组成:计算机由中央处理器(CPU)、内存、输入设备、输出设备和存储设备等构成。
2.中央处理器:中央处理器是计算机的核心部件,负责执行程序的指令和进行数据处理。
3.内存:内存是计算机的临时存储空间,用于存储正在执行的程序和数据。
4.输入设备:输入设备用于将外部信息输入到计算机中,如键盘、鼠标、摄像头等。
5.输出设备:输出设备用于将计算机处理的结果显示给用户,如显示器、打印机、扬声器等。
6.存储设备:存储设备用于永久保存数据和程序,如硬盘、固态硬盘(SSD)、光盘、U盘等。
二、计算机软件知识1.操作系统:操作系统是计算机系统的核心软件,负责管理计算机硬件资源和提供基本的系统服务。
2.应用软件:应用软件是为满足特定任务需求而开发的软件,如办公软件、图像处理软件、视频播放器等。
3.开发软件:开发软件是用于开发和编程的软件,如集成开发环境(IDE)、编译器、调试器等。
三、计算机网络知识1.网络基础概念:IP地址、子网掩码、网关、DNS等是计算机网络的基础概念,了解这些概念对理解网络通信很重要。
2.网络协议:网络协议是计算机网络中用于传输和处理数据的规则和约定,如TCP/IP协议、HTTP协议、FTP协议等。
3.网络拓扑结构:网络拓扑结构描述了计算机网络中各个设备之间的连接方式,常见的拓扑结构有星型、环型和总线型等。
四、计算机安全知识1.防病毒和防火墙:为了保护计算机不受病毒和恶意攻击的影响,需要安装防病毒软件和防火墙,并定期更新维护。
2.数据备份:数据备份是防止数据丢失的重要手段,可以利用外部存储设备或云存储对数据进行备份。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国二C语言考试题型结构笔试部分:1. 选择题(共35题,70分) 2. 填空题(共15空,30分)机试部分1. 程序填空题(30分)2. 程序改错题(30分)3. 编程题(40分)全国计算机等级考试——二级公共基础知识第一章数据结构与算法1.1算法1、算法是指解题方案的准确而完整的描述。
换句话说,算法是对特定问题求解步骤的一种描述。
*:算法不等于程序,也不等于计算方法。
程序的编制不可能优于算法的设计。
2、算法的基本特征(1)可行性。
针对实际问题而设计的算法,执行后能够得到满意的结果。
(2)确定性。
每一条指令的含义明确,无二义性。
并且在任何条件下,算法只有唯一的一条执行路径,即相同的输入只能得出相同的输出。
(3)有穷性。
算法必须在有限的时间内完成。
有两重含义,一是算法中的操作步骤为有限个,二是每个步骤都能在有限时间内完成。
(4)拥有足够的情报。
算法中各种运算总是要施加到各个运算对象上,而这些运算对象又可能具有某种初始状态,这就是算法执行的起点或依据。
因此,一个算法执行的结果总是与输入的初始数据有关,不同的输入将会有不同的结果输出。
当输入不够或输入错误时,算法将无法执行或执行有错。
一般说来,当算法拥有足够的情报时,此算法才是有效的;而当提供的情报不够时,算法可能无效。
*:综上所述,所谓算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。
3、算法复杂度主要包括时间复杂度和空间复杂度。
(1)算法时间复杂度是指执行算法所需要的计算工作量,可以用执行算法的过程中所需基本运算的执行次数来度量。
(2)算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本概念1、数据结构是指相互有关联的数据元素的集合。
2、数据结构主要研究和讨论以下三个方面的问题:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构。
数据的逻辑结构包含:1)表示数据元素的信息;2)表示各数据元素之间的前后件关系。
(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构。
数据的存储结构有顺序、链接、索引等。
1)顺序存储。
它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。
由此得到的存储表示称为顺序存储结构。
2)链接存储。
它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。
由此得到的存储表示称为链式存储结构。
3)索引存储:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。
*:数据的逻辑结构反映数据元素之间的逻辑关系,数据的存储结构(也称数据的物理结构)是数据的逻辑结构在计算机存储空间中的存放形式。
同一种逻辑结构的数据可以采用不同的存储结构,但影响数据处理效率。
(3)对各种数据结构进行的运算。
3、数据结构的图形表示一个数据结构除了用二元关系表示外,还可以直观地用图形表示。
在数据结构的图形表示中,对于数据集合D中的每一个数据元素用中间标有元素值的方框表示,一般称之为数据结点,并简称为结点;为了进一步表示各数据元素之间的前后件关系,对于关系R中的每一个二元组,用一条有向线段从前件结点指向后件结点。
4、数据结构分为两大类型:线性结构和非线性结构。
(1)线性结构(非空的数据结构)条件:1)有且只有一个根结点;2)每一个结点最多有一个前件,也最多有一个后件。
*:常见的线性结构有线性表、栈、队列和线性链表等。
(2)非线性结构:不满足线性结构条件的数据结构。
*:常见的非线性结构有树、二叉树和图等。
1.3 线性表及其顺序存储结构1、线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
线性表是由n(n≥0)个数据元素组成的一个有限序列,表中的每一个数据元素,除了第一个外,有且只有一个前件,除了最后一个外,有且只有一个后件。
线性表中数据元素的个数称为线性表的长度。
线性表可以为空表。
*:线性表是一种存储结构,它的存储方式:顺序和链式。
2、线性表的顺序存储结构具有两个基本特点:(1)线性表中所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
*:由此可以看出,在线性表的顺序存储结构中,其前后件两个元素在存储空间中是紧邻的,且前件元素一定存储在后件元素的前面,可以通过计算机直接确定第i个结点的存储地址。
3、顺序表的插入、删除运算(1)顺序表的插入运算:在一般情况下,要在第i(1≤i≤n)个元素之前插入一个新元素时,首先要从最后一个(即第n个)元素开始,直到第i个元素之间共n-i+1个元素依次向后移动一个位置,移动结束后,第i个位置就被空出,然后将新元素插入到第i项。
插入结束后,线性表的长度就增加了1。
*:顺性表的插入运算时需要移动元素,在等概率情况下,平均需要移动n/2个元素。
(2)顺序表的删除运算:在一般情况下,要删除第i(1≤i≤n)个元素时,则要从第i+1个元素开始,直到第n个元素之间共n-i个元素依次向前移动一个位置。
删除结束后,线性表的长度就减小了1。
*:进行顺性表的删除运算时也需要移动元素,在等概率情况下,平均需要移动(n-1)/2个元素。
插入、删除运算不方便。
1.4 栈和队列1、栈及其基本运算栈是限定在一端进行插入与删除运算的线性表。
在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。
栈顶元素总是最后被插入的元素,栈底元素总是最先被插入的元素。
即栈是按照“先进后出”或“后进先出”的原则组织数据的。
栈具有记忆作用。
栈的基本运算:1)插入元素称为入栈运算;2)删除元素称为退栈运算;3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。
栈的存储方式和线性表类似,也有两种,即顺序栈和链式栈。
2、队列及其基本运算队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。
尾指针(Rear)指向队尾元素,头指针(front)指向排头元素的前一个位置(队头)。
队列是“先进先出”或“后进后出”的线性表。
队列运算包括:1)入队运算:从队尾插入一个元素;2)退队运算:从队头删除一个元素。
循环队列及其运算:所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。
在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置,因此,从头指针front指向的后一个位置直到队尾指针rear指向的位置之间,所有的元素均为队列中的元素。
*:循环队列中元素的个数=rear-front。
1.5线性链表1、线性表顺序存储的缺点:(1)插入或删除的运算效率很低。
在顺序存储的线性表中,插入或删除数据元素时需要移动大量的数据元素;(2)线性表的顺序存储结构下,线性表的存储空间不便于扩充;(3)线性表的顺序存储结构不便于对存储空间的动态分配。
2、线性链表:线性表的链式存储结构称为线性链表,是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接来实现的。
因此,在链式存储方式中,每个结点由两部分组成:一部分用于存放数据元素的值,称为数据域;另一部分用于存放指针,称为指针域,用于指向该结点的前一个或后一个结点(即前件或后件),如下图所示:线性链表分为单链表、双向链表和循环链表三种类型。
在单链表中,每一个结点只有一个指针域,由这个指针只能找到其后件结点,而不能找到其前件结点。
因此,在某些应用中,对于线性链表中的每个结点设置两个指针,一个称为左指针,指向其前件结点;另一个称为右指针,指向其后件结点,这种链表称为双向链表,如下图所示:3、线性链表的基本运算(1)在线性链表中包含指定元素的结点之前插入一个新元素。
*:在线性链表中插入元素时,不需要移动数据元素,只需要修改相关结点指针即可,也不会出现“上溢”现象。
(2)在线性链表中删除包含指定元素的结点。
*:在线性链表中删除元素时,也不需要移动数据元素,只需要修改相关结点指针即可。
(3)将两个线性链表按要求合并成一个线性链表。
(4)将一个线性链表按要求进行分解。
(5)逆转线性链表。
(6)复制线性链表。
(7)线性链表的排序。
(8)线性链表的查找。
*:线性链表不能随机存取。
4、循环链表及其基本运算在线性链表中,其插入与删除的运算虽然比较方便,但还存在一个问题,在运算过程中对于空表和对第一个结点的处理必须单独考虑,使空表与非空表的运算不统一。
为了克服线性链表的这个缺点,可以采用另一种链接方式,即循环链表。
与前面所讨论的线性链表相比,循环链表具有以下两个特点:1)在链表中增加了一个表头结点,其数据域为任意或者根据需要来设置,指针域指向线性表的第一个元素的结点,而循环链表的头指针指向表头结点;2)循环链表中最后一个结点的指针域不是空,而是指向表头结点。
即在循环链表中,所有结点的指针构成了一个环状链。
下图a是一个非空的循环链表,图b是一个空的循环链表:循环链表的优点主要体现在两个方面:一是在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点,而线性单链表做不到这一点;二是由于在循环链表中设置了一个表头结点,在任何情况下,循环链表中至少有一个结点存在,从而使空表与非空表的运算统一。
*:循环链表是在单链表的基础上增加了一个表头结点,其插入和删除运算与单链表相同。
但它可以从任一结点出发来访问表中其他所有结点,并实现空表与非空表的运算的统一。
1.6 树与二叉树1、树的基本概念树是一种简单的非线性结构。
在树这种数据结构中,所有数据元素之间的关系具有明显的层次特性。
在树结构中,每一个结点只有一个前件,称为父结点。
没有前件的结点只有一个,称为树的根结点,简称树的根。
每一个结点可以有多个后件,称为该结点的子结点。
没有后件的结点称为叶子结点。
在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。
树的最大层次称为树的深度。
2、二叉树及其基本性质(1)什么是二叉树二叉树是一种很有用的非线性结构,它具有以下两个特点:1)非空二叉树只有一个根结点;2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。
*:根据二叉树的概念可知,二叉树的度可以为0(叶结点)、1(只有一棵子树)或2(有2棵子树)。
(2)二叉树的基本性质性质1 在二叉树的第k层上,最多有个结点。
性质2 深度为m的二叉树最多有个个结点。
性质3 在任意一棵二叉树中,度数为0的结点(即叶子结点)总比度为2的结点多一个。
性质 4 具有n个结点的二叉树,其深度至少为 ,其中表示取的整数部分。
3、满二叉树与完全二叉树满二叉树:除最后一层外,每一层上的所有结点都有两个子结点。