三、 数据结构:
时间复杂度:
- 背复杂度对应的代码。
- Tips:时间复杂度估算看最内层循环,如若没有循环和递归则为O(1)。
空间复杂度:
- 需要单独空间存储数据时使用。
- 考点:非递归的空间复杂度。
- Tips:声明一个变量和有限个数的变量都是O(1)。
递归式:
时间/空间复杂度:
- 递归算法的时间/空间复杂度 = 递归的次数 × 每次递归的时间/空间复杂度
- 上述适用于每次递归时间复杂度不变的情况。
- 如果每次递归的时间复杂度随着n变化而变化,则要根据代码来观察。
主方法求递归式:(似懂非懂)
指数计算公式:
线性表:
- 考点:如果没有给出最好最坏平均时间复杂度的话,默认是平均时间复杂度。
顺序表:
- 插入、删除操作最好时间复杂度为O(1),平均和最坏时间复杂度都为O(n)。
- 查找最好、最坏、平均情况都为O(1)。
单链表:
- 查找、插入、删除操作最好时间复杂度为O(1),平均和最坏时间复杂度都为O(n)。
顺序存储:
- 通过元素在存储空间中的相对位置来表示数据元素之间的逻辑关系。