全国计算机二级公共基础知识知识点
公共基础知识
第一章 数据结构与算法
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、数据的逻辑结构
一个数据结构应包含以下两方面的信息: