第一部分 算法与数据构造 (历年比例 41%) 1、算法 ◆ 问题处理方案的对的而完整的描述称为【算法】
算法分析的目的是,分析算法的效率以求改善
算法的基本特征是【可行性】、【确定性】、【有穷性】和拥有足够情报
◆ 算法的有穷性是指:算法程序的运行时间是有限的
◆ 算法的复杂度是衡量算法好坏的度量,分为【时间复杂度】和【空间复杂度】
★★ 时间复杂度是指执行算法所需要的【计算工作量】;算法的空间复杂度是指算法执行过程中所需的【存储空间】
◆ 算法时间复杂度或空间复杂度中的一项的值,没有措施推出另一项的值
2、数据构造 ◆ 数据构造分为【逻辑构造】和【存储构造】
线性构造和非线性构造属于逻辑构造;次序、链式、索引属于存储构造(物理构造)
循环队列属于【存储构造】
★ 数据的存储构造又称为物理构造,是数据的逻辑构造在计算机存储空间中的寄存形式
◆ 一种逻辑构造可以有多种存储构造,且多种存储构造影响数据处理的效率
程序执行的效率与数据的存储构造亲密有关
◆ 数据构造分为线性构造和非线性构造,带链的队列属于【线性构造】
◆ 线性表的存储构造重要分为次序存储构造和链式存储构造
次序存储构造的存储一定是持续的,链式存储的存储空间不一定是持续的
◆ 有序线性表既可以采用次序存储构造,也可以采用链式存储构造
◆ 队列是一种特殊的线性表,循环队列按照【先进先出】原则组织数据
循环队列是队列的【次序】存储构造
◆ 数据的独立性分为【物理独立】性和【逻辑独立性】
当数据的存储构造变化时,其逻辑构造可以不变,因此,基于逻辑构造的应用程序可以不用修改,称为【物理独立性】
3、栈和队列 ★★ 栈是一种特殊的线性表,是只能在一端进行插入和删除的线性表,特点是 FILO(First In Last Out)
★★ 栈是【先进后出】的线性表;栈具有记忆作用;对栈的插入与删除操作