全国计算机二级公共基础知识知识点

合集下载

全国计算机二级公共基础知识必背考点【最新版】

全国计算机二级公共基础知识必背考点【最新版】

全国计算机二级公共基础知识必背考点1. 算法的有穷性是指算法必须能执行有限个步骤之后终止.2. 算法的时间复杂度是指算法在执行过程中所需要的基本运算次数3. 队列、栈、线性表属于线性数据结构,二叉树不属于4. 数据的存储结构是指:数据的逻辑结构在计算机中的表示5. 一个逻辑数据结构可有多种存储结构,且各种存储结构影响数据处理的效率6. 线性链表是线性表的链式存储结构7. 栈是先进后出、后进先出的线性链表,具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针,是特殊的线性表,只能在一端插入或者删除元素8. 线性链表存储空间不一定连续,且各元素的存储顺序是任意的9. 在深度为7 的满二叉树中,叶子节点的个数为:6410. 能用二分法查找的是顺序存储的有序线性表11. 对长度为N 的线性表进行顺序查找,在最坏的情况下需要比较的次数为:N12. 对于长度为N 的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是:快速排序为N(N-1)/213. 算法的复杂度包括时间复杂度和空间复杂度14. 算法在执行过程中所需要的存储空间称为算法的空间复杂度15. 问题处理方案的正确而完整的描述称为算法16. 数据的逻辑结构在计算机存储控件中的存放方式称为数据的存储结构或者物理结构或者物理存储结构17. 按照逻辑结构分类,数据结构可以分为线性结构和非线性结构,二叉树属于非线性结构18. 数据结构分为逻辑结构和存储结构,循环队列属于存储结构19. 某二叉树中度为2 的结点有18 个,则该二叉树中共有19 个叶子结点20. 一颗二叉树第六层(根节点为第一层)的结点数最多为32 个21. 对长度为10 的线性表进行冒泡排序,最坏的情况下需要比较的次数为4522. 程序经调试改错后还应进行再调试23. 符合结构化程序设计风格的是使用顺序、选择和重复三种基本控制结构标示程序的控制结构24. 结构化程序设计的一种基本方法是逐步求精法、自顶向下、模块法25. 在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送消息26. 在软件工程学中,我们把一组具有相同的数据结构和相同的行为特征的对象的集合定义为类27. 面向对象的方法有对象/继承/类28. 在面向对象的方法中,类的实例称为对象9. 在面向对象的方法中,类描述的是具有相同属性与操作的一组对象30. 结构化程序设计的3 种基本逻辑机构为顺序、选择和重复(循环)31. 在面向对象的方法中,类之间共享属性和操作的机制称为继承32. 软件是程序、数据与相关文档的集合33. 在软件开发中,属于设计阶段的是:数据结构设计、给出系统模块结构、定义模块算法34. 软件工程的主要思想是强调在软件开发的过程中需要应用工程化原则35. 软件交付使用后还应进行维护36. 在结构化方法中,用数据流程图(DFD )作为描述工具的软件开发阶段是需求分析37. 软件设计的原则有抽象、模块化、信息隐蔽38. 为了是模块尽可能独立,需求模块的内聚程度要尽量高,且各模块的耦合程度要尽量弱39. 在软件设计中,属于过程设计工具的是:PDL 过程设计语言、PAD 图、N-S 图40. 软件测试的目的是尽可能多地发现程序中的错误41. 软件需求阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审42. 在结构化方法中,软件功能分解属于总体设计阶段43. 软件工程的三要素:工具过程方法44. 若按功能划分,软件测试的方法通常分为白盒测试和黑盒测试45. 在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块),其中驱动模块的作用是将测试数据传送给被测试的模块,并显示被测试模块的测试结果46. 程序测试分为静态分析和动态测试,其中静态分析(静态测试)是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误47. 诊断和改正程序中错误的工作通常称为调试48. 软件是程序、数据和文档的集合49. 软件工程研究的内容主要是软件开发技术和软件工程管理50. 数据库系统的核心是数据库管理系统51. 数据库系统的根本目标是解决数据共享问题52. 能给出数据库物理存储与物理存取方法的是内模式53. 在数据库的两极映射中,从概念模式到内模式的映射一般由数据库管理系统实现54. 支持数据库各种操作的软件系统叫作数据库管理系统55. 数据库(DB )\数据库系统(DBS )、数据库管理系统(DBMS )之间的关系是:DBS 包含DB 和DBMS56. 在关系数据库模型中,通常可以把字段称为属性,其值称为属性值57. 用树形结构来表示实体之间联系的模型称为层次模型58. 在E-R 图中,用来表示实体的图形是矩形59. 商品与顾客两个实体之间的联系一般是多对多60. 数据库系统在其内部分为三级模式,即概念模式、内模式和外模式,其中内模式给出了数据库中物理存储结构与物理存取方法62. 数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是数据库系统62. 数据独立性分为逻辑独立性和物理独立性,当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为物理独立性63.如果一个工人可以管理多台设备,而一个设备只被一个工人管理,则实体工人与实体设备之间存在一对多的关系64. 关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、参照完整性和自定义完整性65. 在关系数据库中,把数据表示成二维表,每一个二维表称为关系或关系表66. 关系数据库管理系统能实现的专门关系运算包括选择、连接和投影。

计算机二级公共基础常见知识

计算机二级公共基础常见知识

计算机二级公共基础常见知识1.计算机硬件-CPU(中央处理器):计算机的核心部件,负责执行指令和处理数据。

-内存:临时存储计算机运行时所需要的数据和指令。

-硬盘:长期存储数据的设备。

-显示器:用于显示计算机的输出结果。

-键盘和鼠标:输入设备,用于输入指令和数据。

-主板:将各个硬件组件连接在一起的电路板。

2.计算机软件-操作系统:控制和管理计算机硬件和软件资源的程序。

-应用程序:用来完成特定任务的软件,如办公软件、图像处理软件等。

- 编程语言:一种用于编写计算机程序的语言,如C、Python等。

3.计算机网络-互联网:全球范围内的计算机网络系统。

-局域网:在同一地区内互连的计算机网络。

-IP地址:互联网协议地址,用于标识计算机的唯一标识符。

4.数据结构-数组:一种线性数据结构,用于存储相同类型的数据。

-链表:一种非连续的数据结构,由一组节点组成。

-栈:一种先进后出的数据结构。

-队列:一种先进先出的数据结构。

-树:一种非线性的数据结构,由节点和边组成。

5.数据库- 关系数据库:使用表格来组织和管理数据的数据库系统,如MySQL、Oracle等。

-SQL(结构化查询语言):用于与关系数据库进行通信和操作的语言。

-数据库管理系统(DBMS):用于管理和操作数据库的软件。

6.算法和数据处理-排序算法:如冒泡排序、插入排序、选择排序等。

-查找算法:如线性查找、二分查找等。

-数据压缩:用于减小数据存储空间和传输带宽的技术。

-数据加密:用于保护数据安全的技术。

7.操作系统- Windows:微软推出的操作系统。

- Linux:一种开源的操作系统。

- macOS:苹果公司的操作系统。

8.办公软件- Microsoft Office:包括Word、Excel、PowerPoint等应用程序。

- WPS Office:金山软件开发的办公软件套装。

9.图像处理- Photoshop:Adobe公司开发的图像处理软件。

-GIMP:一种开源的免费图像处理软件。

全国计算机二级公共基础知识知识点

全国计算机二级公共基础知识知识点

公共基础知识第一章数据结构与算法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.1算法1.1.1 算法的基本概念算法是解题方案的准确而完整的描述算法是解题方案的准确而完整的描述,,它不等于程序它不等于程序,,也不等计算方法也不等计算方法。

算法的基本特征可行性(effectiveness) 确定性(definiteness) 有穷性(finiteness) 拥有足够的情报 算法的时间复杂度执行算法所需要的计算工作量 与下列因素有关:书写算法的程序设计语言 ,编译产生的机器语言,代码质量 机器执行指令的速度 ,问题的规模 问题的规模函数 算法的工作量=f(n)算法中基本操作重复执行的频率T(n),是问题规模n 的某个函数f(n),记作记作::T(n)=O(f(n)) 记号“O ”读作“大O ”。

表示随问题规模n 的增加,算法执行时间的增长率和f(n)相应增加。

常见算法复杂度常见算法复杂度::O(1):常数阶 O(n):作线性阶 O(n2):平方阶 O(n3):立方阶 O(logn):对数阶 O(2n):指数阶算法的空间复杂度算法执行过程中所需的最大存储空间 存储量包括以下三部分算法程序所占的空间 ,输入的初始数据所占的存储空间 ,算法执行过程中所要的额外空间1.2 数据结构的基本概念数据的逻辑结构对数据元素之间的逻辑关系的描述只抽象地反映数据元素之间的逻辑关系,与计算机中的存储无关 数据的存储结构数据的逻辑结构在计算机存储空间中的存放形式 常用的存储结构:顺序, 链式, 索引一种数据结构可根据需要采用不同的存储结构。

采用不同的存储结构,其数据处理的效率是不同 线性结构如果一个非空数据结构满足下列两个条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件。

常见的线性结构有:线性表、栈与队列、线性链表非线性结构1.数据的逻辑结构2、数据的存储结构3、数据的运算:检索、排序、插入、删除、修改等。

二级计算机公共基础知识

二级计算机公共基础知识

二级计算机公共基础知识
一、计算机硬件
1、中央处理器(CPU):
控制其它计算机硬件的运行,并运行用户规定的程序,也称为处理器,是计算机系统的核心。

它是连接用户程序和计算机内部的计算机硬件的桥梁。

主要包括控制器、运算器、寄存器和时钟等模块。

2、主存储器(RAM):
主存储器是计算机运行程序需要的数据和指令存储空间,也称为内存,是计算机硬件的重要组成部分。

它是一种电子记忆的存储器,用来存储当
前处理中的程序,它是由一系列的存储器单元组成,根据日常使用来区分,主存储器分为固态存储器和半导体存储器。

3、输入设备:
一般都是使用计算机的键盘和鼠标,可以将用户的信息输入到计算机中,便于后续操作,还有就是扫描仪、读写器、传感器等。

4、输出设备:
图形显示器、打印机是常用的主要的输出设备,图形显示器可以将处
理结果显示出来,打印机可以将处理结果产出到纸张上,还有一些智能辅
助设备,也属于输出设备。

5、外存:
也称为储存器,用于存储计算机系统的用户数据和程序,它是外部的存储器,当程序运行超出内存容量时,还可以使用外部存储器将程序或数据保存到外部存储器,外存储器分为有盘和无盘。

(完整word版)计算机二级公共基础知识(全)

(完整word版)计算机二级公共基础知识(全)

1。

1 算法考点1 算法的基本概念计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法.算法(algorithm)是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,同时是明确的;此顺序将在有限的次数后终止。

算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作.1算法的基本特征(1)可行性(effectiveness):针对实际问题而设计的算法,执行后能够得到满意的结果。

(2)确定性(definiteness):算法中的每一个步骤都必须有明确的定义,不允许有模棱两可的解释和多义性。

(3)有穷性(finiteness):算法必需在有限时间内做完,即算法必需能在执行有限个步骤之后终止。

(4)拥有足够的情报:要使算法有效必需为算法提供足够的情报当算法拥有足够的情报时,此算法才最有效的;而当提供的情报不够时,算法可能无效。

2算法的基本要素(1)算法中对数据的运算和操作:每个算法实际上是按解题要求从环境能进行的所有操作中选择合适的操作所组成的一组指令序列.计算机可以执行的基本操作是以指令的形式描述的。

一个计算机系统能执行的所有指令的集合,称为该计算机系统的指令系统。

计算机程序就是按解题要求从计算机指令系统中选择合适的指令所组成的指令序列在一般的计算机系统中,基本的运算和操作有以下4类:①算术运算:主要包括加、减、乘、除等运算;②逻辑运算:主要包括“与”、“或”、“非"等运算;③关系运算:主要包括“大于"、“小于”、“等于”、“不等于"等运算;④数据传输:主要包括赋值、输入、输出等操作。

(2)算法的控制结构:一个算法的功能不仅仅取决于所选用的操作,而且还与各操作之间的执行顺序有关.算法中各操作之间的执行顺序称为算法的控制结构.算法的控制结构给出了算法的基本框架,它不仅决定了算法中各操作的执行顺序,而且也直接反映了算法的设计是否符合结构化原则。

计算机二级公共基础知识重点

计算机二级公共基础知识重点

计算机二级公共基础知识重点全国计算机二级等级考试的笔试包括基础知识和程序设计两部分,其中基础知识占30分。

以下是由店铺整理关于计算机二级公共基础知识重点的内容,希望大家喜欢!计算机二级公共基础知识重点1、第一台计算机ENIAC淡生于1946年,是电子管计算机;第二代是晶体管计算机;第三代是中小规模集成电路;第四代是大规模集成电路;2、计算机的应用领域主要有:科学计算;信息管理;实时控制;办公、生产自动化;人工智能,网络通信;电子商务;辅助设计(CAI);辅助设计(CAD);3、计算机的信息表示形式为二进制,它采用了冯。

诺依曼的思想原理,即以0 和1两个数字形式用于展现,“逢二进一”;它的基本信息单位为位,即一个二进制位。

常用的换算单位有:1 B ===8bit; 1KB====1024B ;1MB====1024KB; 1GB===1024MB;1TB===1024GB;1个汉字===2B;4、二进制换算法则:将十进制转化为二进制时除二取佘;二进制转化为八进制时以三位为一组,三位的权重等于八进进中的一位权重,二进制转化为十六进制时以四位为一组;5、对于字符的编码,普遍采用的是ASCII码,中文含义为美国标准信息交换码;被国际标准化组织ISO采纳,作用通用信息交换标准。

6、计算机的系统的组成由软件系统和硬件系统两部分组成;7、硬件系统包括运算器,控制器,存储器,输入,输出设备,控制器和运算器合成为中央处理器即CPU ,存储器主要有内存和外内之分;内存又分为只读存储器(ROM)和随机存储器(RAM),断电内容丢失的是RAM,外存主要有硬盘(GB),软盘(3。

5寸,1。

44MB),光盘(650MB左右),移动存储器优盘(MB),MP3(MB)等;8、软件指在硬件设备上运行的各种程序及其有关的资料。

主要有系统软件(操作系统、语言处理程序、数据库管理系统)和应用程序软件即实用程序(如WPS,OFFICE,PHOTOSHOP等)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

公共基础知识第一章数据结构与算法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.3 线性表及其顺序存储结构1.3.1 线性表的基本概念线性表是由n(n≥0)个数据元素组成的一个有限序列,表中的每一个数据元素,除了第一个外,有且只有一个前件,除了最后一个外,有且只有一个后件非空线性表有如下一些结构特征:●有且只有一个根结点,它无前件●有且只有一个终端结点,它无后件●除根结点和终端结点外,其他所有节点有且只有一个前件,也有且只有一个后件。

线性表中结点的个数,n称为线性表的长度。

当n=0时,称为空表1.3.2 线性表的顺序存储结构线性表的顺序存储结构具有以下两个基本特点:●线性表中所有元素所占的存储空间是连续的●线性表中各数据元素在存储空间中是按逻辑顺序依次存放的假设线性表中的第一个数据元素的存储地址(指第一个字节的地址,即首地址)为ADR(a1),每一个数据元素占k个字节,则线性表中第i个元素a i在计算机存储空间中的存储地址为ADR(a i)= ADR(a1)+(i-1)k在顺序存储结构中,线性表中每一个数据元素在计算机存储空间中的存储地址由该元素在线性表中的位置序号唯一确定1.3.3 顺序表的插入运算在一般情况下,要在第i(1≤i≤n)个元素之前插入一个新元素时,首先要从最后一个(即第n个)元素开始,直到第i个之间共n-i+1个元素依次向后移动一个位置,移动结束后,第i个位置就被空出,然后将新元素插入到第i项。

插入结束后,线性表的长度就增加了11.3.4 顺序表的删除运算在一般情况下,要删除第i(1≤i≤n)个元素时,则要从第i+1个元素开始,直到第n个元素之间共n-i个元素依次向前移动一个位置。

删除结束后,线性表的长度就减小了11.4 栈和队列1.4.1 栈及其基本运算1、什么是栈栈是限定在一端进行插入与删除的线性表(不需要移动表中其他数据元素)栈被称为“先进后出”表或“后进先出”表。

栈有记忆作用(子弹夹、一端为封闭另一端为开口的容器)2、栈的顺序存储及其运算(1)入栈运算:在栈顶位置插入一个新元素(2)退栈元素:取出栈顶元素并赋给一个指定的变量(当栈顶指针为0时,说明栈空,不可能进行退栈操作)(3)读栈顶元素:将栈顶元素赋给一个指定的变量●在这个运算中,栈顶指针不会改变●当栈顶指针为0时,说明栈空,读不到栈顶元素1.4.2 队列及其基本运算1、什么是队列在操作系统中,用一个线性表来组织管理用户程序的排队执行,原则是:●初始时线性表为空●当有用户程序来到时,将该用户程序加入到线性表的末尾进行等待●当计算机系统执行完当前的用户程序后,就从线性表的头部取出一个用户程序执行队列是指允许在一端进行插入、而在另一端进行删除的线性表尾指针rear总是指向最后被插入的元素(队尾元素),排头指针front指向排头元素的前一个位置队列又称为“先进先出”或“后进后出”的线性表2、循环队列及其运算所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用当循环队列满时有rear=front,而当循环队列空时也有rear=front队列空和队列满的条件:队列空的条件为s=0队列满的条件为s=1且rear=front➢假设循环队列的初始状态为空,即s=0,且rear=front=m(1)入队运算:在循环队列队尾加入一个新元素➢队尾指针进一(rear=rear+1),当队尾指针rear=m+1时,则置rear=1(2)退队运算:在循环队列的排头位置退出一个元素并赋给指定的变量➢排头指针进一(front=front+1),当排头指针front=m+1时,则置front=11.5 线性链表1.5.1 线性链表的基本概念在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,成为数据域;另一部分用来存放指针,成为指针域1、线性链表线性表中最后一个元素没有后件,因此,线性链表中最后一个结点的指针域为空(用NULL 或0表示)在线性表的链式存储结构中,各数据结点的存储序号不是连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。

在线性链表中,各数据元素之间的前后件关系是由各结点的指针域来指示的,指向线性表中第一个结点的指针HEAD称为头指针,当HEAD=NULL (或0)时称为空表2、带链的栈带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,这种带链的栈称为可利用栈计算机中的所有可利用空间都可以以结点为单位连接在可利用栈中3、带链的队列1.5.2 线性链表的基本运算1、在线性链表中查找指定元素➢在非空线性链表中寻找包含指定元素值x的前一个结点p的基本方法:从头指针指向的结点开始往后沿指针进行扫描,直到后面已没有结点或下一个结点的数据域为x为止当线性链表中存在包含元素x的结点时,则找到的p为第一次遇到的包含元素x的前一个节点序号当线性链表中不存在包含元素x的结点时,则找到的p为线性链表中的最后一个结点号2、线性链表的插入可利用栈是公共的,多个线性链表可以共享它线性链表在插入过程中不发生数据元素移动的现象,只需改变有关结点的指针即可3、线性链表的删除在线性链表中删除一个元素后,不需要移动表的数据元素,只需改变被删除元素所在结点的前一个结点的指针域即可1.5.3 循环链表及其基本运算循环链表的特点:●在循环链表中增加了一个表头结点,其数据域为任意或者根据需要来设置,指针域指向线性表的第一个元素的结点。

循环链表的头指针指向表头结点●循环链表中最后一个结点的指针域不是空,而是指向表头结点。

即在循环链表中,所有结点的指针构成了一个环状链在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点,而线性单链表做不到这一点由于在循环链表中设置了一个表头结点,因此,在任何情况下,循环链表中至少有一个结点存在,从而使空表与非空表的运算统一1.6 树与二叉树1.6.1 树的基本概念在树的结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称为树的根在树结构中,每一个结点可以有多个后件,它们都称为该结点的子结点。

没有后件的结点称为叶子结点在树结构中,一个结点所拥有的后件个数称为该结点的度。

叶子结点的度为0。

在树中,所有结点中的最大的度称为树的度在树结构中,一般按如下原则分层:●根结点在第一层●同一层上所有结点的所有子结点都在下一层●树的最大层次称为树的度●在树中,以某结点的一个子结点为根构成的树称为该结点的一颗子树●在树中,叶子结点没有子树用树来表示算术表达式的原则如下:●表达式中的每一个运算符在树中对应一个结点,称为运算符结点●运算符的每一个运算对象在树中为该运算符结点的子树(在树中的顺序为从左到右)●运算对象中的单变量均为叶子结点1.6.2 二叉树及其基本性质1、什么是二叉树二叉树具有以下两个特点:●非空二叉树只有一个根结点●每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树在二叉树中,每一个结点的度最大为2,即所有子树(左子树或右子树)也均为二叉树当一个结点既没有左子树也没有右子树时,该结点即是叶子结点2、二叉树的基本性质性质1 在二叉树的第k层上,最多有2k-1(k≥1)个结点性质2 深度为m的二叉树最多有2m-1个结点(深度为m的二叉树是指二叉树共有m层)性质3 在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个性质4 具有n个结点的二叉树,其深度至少为【log2n】+1,其中【log2n】表示取log2n的整数部分3、满二叉树与完全二叉树(1)满二叉树除最后一层外,每一层上的所有结点都有两个子结点在满二叉树中,每一层上的结点数都达到最大值(2)完全二叉树除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点对于完全二叉树来说,叶子结点只可能在层次最大的两层上出现;对于任何一个结点,若其右分支下的子孙结点的最大层次为p,则其左分支下的子孙结点的最大层次或为p,或为p+1 满二叉树也是完全二叉树,而完全二叉树一般不是满二叉树完全二叉树还具有以下两个性质:性质5 具有n个结点的完全二叉树的深度为【log2n】+1性质6 设完全二叉树共有n个结点。

相关文档
最新文档