一、顺序表的优缺点
1.1、优点
- 支持随机访问(下标访问)。需要随机访问结构支持算法可以很好的适用。
- cpu高速缓存命中率高。
1.2、缺点
- 头部中间插入删除时间效率低。O(N)
- 连续的物理空间,空间不够了以后需要增容。
a、增容有一定程度消耗。
b、为了避免频繁增容,一般我们都按倍数去增,用不完可能存在一定的空间浪费。
二、链表(双向带头循环链表)
2.1、优点
- 任意位置插入 删除效率高。O(1)
- 按需申请释放空间。
2.2、缺点
- 不支持随机访问 。(用下标访问)意味着:一些排序。二分查找等在这种结构上不适用。
- 链表存储一个值,同时要存储链接指针,也有一定的消耗。
- cpu高速缓存命中率低。
cpu高速缓存命中率知识点链接(https://blog.csdn.net/weixin_64181464/article/details/122477943)