第一部分 公共基础知识 第 1 章 数据构造与算法 1
1 算法 1
算法的基本概念 (1)概念:算法是指一系列处理问题的清晰指令
(2)4 个基本特征:可行性、确定性、有穷性、拥有足够的情报
(3)两种基本要素:对数据对象的运算和操作、算法的控制构造(运算和操作时问的次序)
(4)设计的基本措施:列举法、归纳法、递推法、递归法、减半递推技术和回溯法
算法的复杂度 (1)算法的时间复杂度:执行算法所需要的计算工作量
(2)算法的空间复杂度:执行算法所需的内存空间
2 数据构造的基本概念 数据构造指互相有关联的数据元素的集合,即数据的组织形式
其中逻辑构造反应数据元素之间逻辑关系;存储构造为数据的逻辑构造在计算机存储空间中的寄存形式,有次序存储、链式存储、索引存储和散列存储 4 种方式
数据构造按各元素之间前后件关系的复杂度可划分为: (1)线性构造:有且只有一种根节点,且每个节点最多有一种直接前驱和一种直接后继的非空数据构造
(2)非线性构造:不满足线性构造的数据构造
3 线性表及其次序存储构造 1
线性表的基本概念 线性构造又称线性表,线性表是最简单也是最常用的一种数据构造
线性表的次序存储构造 •元素所占的存储空间必须持续
•元素在存储空间的位置是按逻辑次序寄存的
线性表的插入运算 在第 i 个元素之前插入一种新元素的环节如下: 环节一:把本来第 n 个节点至第 i 个节点依次往后移一种元素位置
环节二:把新节点放在第 i 个位置上
环节三:修正线性表的节点个数
在最坏状况下,即插入元素在第一种位置,线性表中所有元素均需要移动
线性表的删除运算 删除第 i 个位置的元素的环节如下: 环节一:把第 i 个元素之后不包括第 i 个元素的 n—i 个元素依次前移一种位置; 环节二:修正线性表的结点个数
4 栈和队列