第1章 数据结构与算法
1.1 算法的复杂度
1. 算法的基本概念
利用计算机算法为计算机解题的过程实际上是在实施某种算法。
(1)算法的基本特征
算法一般具有4个基本特征:可行性、确定性、有穷性、拥有足够的情报。
(2)算法的基本运算和操作
算法的基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
(3)算法的3种基本控制结构
算法的3种基本控制结构是:顺序结构、选择结构、循环结构。
(4)算法基本设计方法
算法基本设计方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。
(5)指令系统
所谓指令系统指的是一个计算机系统能执行的所有指令的集合。
2. 算法复杂度
算法复杂度包括时间复杂度和空间复杂度。注意两者的区别,无混淆,见表1-1。 表1-1 算法复杂性
名称
描述
时间复杂度
执行算法所需要的计算工作量
空间复杂度
执行这个算法所需要的内存空间
1.2 数据结构
1.2.1 逻辑结构和存储结构
1. 数据结构的基本概念
(1)数据结构
指相互有关联的数据元素的集合。
二级公共基础知识速学教程
2
(2)数据结构研究的3个方面
① 数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;
② 在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; ③ 对各种数据结构进行的运算。
2. 逻辑结构
数据的逻辑结构是对数据元素之间的逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合中的若干关系来表示。数据的逻辑结构有两个要素:一是数据元素的集合,通常记为D;二是D上的关系,它反映了数据元素之间的前后件关系,通常记为R。一个数据结构可以表示成:B=(D,R)
其中,B表示数据结构。为了反映D中各数据元素之间的前后件关系,一般用二元组来表示。
例如,如果把一年四季看作一个数据结构,则可表示成:B =(D,R)
D ={春季,夏季,秋季,冬季}
R ={(春季,夏季),(夏季,秋季),(秋季,冬季)}