- 数据结构的存储⽅式只有两种:数组(顺序存储)和链表(链式存储)。
- 数据结构种类很多,但它们存在的⽬的都是在不同的应⽤场景,尽可能⾼效
地增删查改。 - 如何遍历 + 访问?我们仍然从最⾼层来看,各种数据结构的遍历 + 访问⽆
⾮两种形式:线性的和⾮线性的。
算法特性
好算法要求
时间复杂度
影响算法时间的因素
时间复杂度的表示
就是:问题的规模n和时间开销T的关系
一般只考虑阶数较高的部分,甚至可以忽略常数项部分。。。
例如
算法复杂度计算公式
其中(加法规则)
例子1(嵌套循环就只算内层)
例子2(关注最深层循环的语句频率)
例子3(平均算法复杂度)
例子如下(加法规则)
计算算法复杂度常见的数量级表示
常对幂指阶
总结
空间复杂度
空间开销(内存开销)与问题规模n之间的关系
递归调用的空间复杂度(每一层数据空间一致)
递归调用的空间复杂度(每一层数据空间不一致)