第一部分公共基础知识第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栈和队列1
栈及其基本运算(1)基本概念:栈是一种特殊的线性表,其插入运算与删除运算都只在线性表的一端进行,也被称为“先进后出