第一章数据结构与算法1
算法算法:是指解题方案的准确而完整的描述
算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构
算法的三种基本控制结构:顺序结构、选择结构、循环结构
算法复杂度包括:算法时间复杂度和算法空间复杂度
算法时间复杂度是指执行算法所需要的计算工作量
算法空间复杂度是指执行这个算法所需要的内存空间
算法的有穷性是指(D)A
算法只能被有限的用户使用B
算法程序的长度是有限的C
算法程序所处理的数据量是有限的D
算法程序的运行时间是有限的案例1
下列叙述中正确的是(BG)A
一个算法的时间复杂度大,则其空间复杂度必定小B
算法的时间复杂度与空间复杂度没有直接关系C
一个算法的空间复杂度大,则其时间复杂度也必定大D
算法的时间复杂度与空间复杂度一定相关E
算法的效率只与问题的规模有关,而与数据的存储结构无关F
数据的逻辑结构与存储结构是一一对应的G
算法的时间复杂度是指执行算法所需要的计算工作量2
栈及其基本运算栈是限定在一端进行插入与删除运算的线性表
在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底
栈顶元素总是最后被插入的元素,栈底元素总是最先被插入的元素
即栈是按照“先进后出”或“后进先出”的原则组织数据的
栈的基本运算:1)插入元素称为入栈运算;2)删除元素称为退栈运算;案例2
一个栈的初始状态为空
先将元素1,2,3