一、链表与数组
- 链表的优势在插入元素方面,并且节省空降,但查询速度慢,仅支持顺序访问
- 数组的优势在查询元素方面,支持随机访问和顺序访问
数组 | 链表 | |
读取 | O(1) | O(n) |
插入 | O(n) | O(1) |
删除 | O(n) | O(1) |
二、递归
1、栈:后进先出
2、递归:一种直接或者间接的调用原算法本身的一种算法
3、编写涉及数组的递归函数时,基线条件通常是数组为空或只包含一个元素
4、每个递归函数都有两个条件:基线条件和递归条件
5、所有函数调用都进入调用栈
三、分而治之yu快速排序
- 快速排序的最佳情况:O(n*logn),最佳情况也是平均情况
- 最糟情况:O(n*n)