2016计算机二级office公共基础知识(一)数据结构
- 格式:pptx
- 大小:1023.62 KB
- 文档页数:24
2016年9月二级公共基础知识总结——计算机二级新大纲第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
二级公共基础知识一、数据结构与算法1.下列叙述中正确的是A)所谓算法就是计算方法B)程序可以作为算法的一种描述方法C)算法设计只需考虑得到计算结果D)算法设计可以忽略算法的运算时间B【解析】算法是指对解题方案的准确而完整的描述,算法不等于数学上的计算方法,也不等于程序。
算法设计需要考虑可行性、确定性、有穷性与足够的情报,不能只考虑计算结果。
算法设计有穷性是指操作步骤有限且能在有限时间内完成,如果一个算法执行耗费的时间太长,即使最终得出了正确结果,也是没有意义的,。
算法在实现时需要用具体的程序设计语言描述,所以程序可以作为算法的一种描述方法。
2.下列关于算法的描述中错误的是A)算法强调动态的执行过程,不同于静态的计算公式B)算法必须能在有限个步骤之后终止C)算法设计必须考虑算法的复杂度D)算法的优劣取决于运行算法程序的环境D【解析】算法设计不仅要考虑计算结果的正确性,还要考虑算法的时间复杂度和空间复杂度。
3.下列叙述中正确的是A)算法的复杂度包括时间复杂度与空间复杂度B)算法的复杂度是指算法控制结构的复杂程度C)算法的复杂度是指算法程序中指令的数量D)算法的复杂度是指算法所处理的数据量A【解析】算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。
算法的复杂度包括时间复杂度与空间复杂度。
算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度是指算法在执行过程中所需要的内存空间。
4.下列叙述中正确的是A)算法的时间复杂度与计算机的运行速度有关B)算法的时间复杂度与运行算法时特定的输入有关C)算法的时间复杂度与算法程序中的语句条数成正比D)算法的时间复杂度与算法程序编制者的水平有关B【解析】为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。
为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
公共基础知识第一章数据结构与算法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.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.算法的看法、算法时间复杂度及空间复杂度的看法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. 算法(****)2. 数据结构(***)3. 线性表及其顺序存储结构(**)4. 栈和队列(*****)5. 线性链表(**)6. 树与二叉树(*****)7. 查找技术(****)8. 排序技术(***)1、概念算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作 2、数据的逻辑结构● 线性结构(例:一维数组、链表、栈、队列、串、线性表) ● 非线性结构(例:多维数组、广义表、树、图) 3、数据的存储结构(线性表)● 顺序存储方法:线性表中所有元素所占的存储空间是连续的;线性表中各数据元素在存储空间中是按逻辑顺序依次存放的● 链接存储方法:逻辑上相邻的结点,物理上也相邻,存储单元可以是连续的,也可以是不连续的 ● 计算机中有数据进行处理时,数据的存储结构对程序的执行效率有很大的关系● 一种数据的逻辑结构根据需要可以表示成多种存储结构。
数组是数据的逻辑结构,可以用多种存储结构来表示● 线性链表:就是指线性表的链式存储结构,简称链表 4、算法的基本特征● 可行性:针对实际问题而设计的算法,执行后能够得到满意的结果 ● 确定性:算法中的每一个步骤都必须有明确的定义,不允许出现歧义性● 有穷性:算法必须在有限时间内做完,即必须在执行有限个步骤之后终止,算法程序的运行时间是有限的● 拥有足够的情报:要使算法有效必需为算法提供足够的情报当算法拥有足够的情报时,此算法才最有效的;而当提供的情报不够时,算法可能无效5、算法的复杂度● 时间复杂度:该算法执行的时间耗费,是指执行算法所需要的计算工作量,即算法执行过程中所需要的基本运算次数● 空间复杂度:该算法执行时所耗费的存储空间 6、顺序表和链表的比较:基于空间的考虑:(1)顺序表的存储空间是静态分配的,而链表的存储空间是动态分配的。
(2)顺序表占的存储空间必须是连续的,而链表占的存储空间可以是连续的,也可是不连续的栈实际也是线性表,只不过是一种特殊的线性表。
计算机二级公共(gōnggòng)基础知识重点计算机二级公共(gōnggòng)基础知识一、数据结构(shù jù jiéɡòu)与算法1.1.1 数据结构(shù jù jiéɡòu)的基本概念数据(shùjù)结构指相互有关联的数据元素的集合。
数据逻辑结构反映数据元素之间的逻辑关系;存储结构为数据的逻辑结构在计算机存储空间中的存放形式,分为顺序存储、链式存储、索引存储和散列存储4种方式。
数据结构按各元素之间前后件关系的复杂度可划分为如下两种:(1)线性结构:有且只有一个根节点,且每个结点最多有一个直接前驱和一个直接后继的非空数据结构。
(2)非线性结构:不满足线性结构的数据结构。
1.1.2 算法1. 算法的基本概念(1)概念:算法是指解题方案的准确而完善的描述。
(2)基本特征:可行性、确定性、有穷性、拥有足够的情报。
(3)基本要素:对数据对象的运算和操作、算法和控制结构。
(4)设计的基本方法:列举法、归纳法、递推法、递归法、减半递推技术、回溯法。
2. 算法的复杂度(1)算法的时间复杂度:执行算法所需要的计算工作量。
(2)算法的空间复杂度:执行算法所需的内存空间。
1.1.3 线性表及其顺序存储结构1. 线性表的基本概念线性结构又称线性表,线性表是最简单也是最常用的一种数据结构。
2. 线性表的顺序存储结构顺序存储结构的特点(tèdiǎn)如下:(1)元素所占的存储空间必须(bìxū)连接。
(2)元素(yuán sù)在存储空间的位置是按逻辑顺序依次存放的。
3. 线性表的插入(chā rù)运算若在第i 个元素之前插入一个新元素,可先把原来第i 个结点至第n 个结点依次往后移一个元素位置(wèi zhi)。
然后把新结点放在第i 个位置上,最后修正线性表的结点个数。