本文最后更新于 76 天前,其中的信息可能已经有所发展或是发生改变。
1. 存储方式
底层逻辑都是数组和链表。
- 顺序存储
- 优点
- 可以随机访问,通过索引快速找到对应元素,而且相对节约存储空间。
- 缺点
- 扩容麻烦,内存必须一次性分配够,因此想扩容就得新建一个更大的数组,再把值复制过去。
- 插入和删除也麻烦
- 链式存储
- 优点
- 知道某一元素的前驱和后驱,插入或删除的时间复杂度为O1。
- 不存在扩容问题
- 缺点
- 无法随机访问,空间占用率高(因为有前后元素位置指针)
2. 关键点(做什么)
遍历与访问
- 增删查改
两种形式
- 线性的
- for/while 迭代为代表
- (暴力穷举)
- 非线性的
- 递归为代表
算法
1. 关键点
无遗漏,无冗余。
- 算法框架
- 利用信息