vector容器与deque、list容器的对比

vector和deque之间的区别?
1.底层数据结构:
vector特点:动态数组,内存是连续的,2倍的方式进行扩容;
deque特点:动态开辟的二维数组空间,内存并不连续,第二维是独立new出来的,属于分段连续。固定长度,扩容的时候,第一维的数组进行二倍扩容;

2.前中后删除插入元素的时间复杂度:
中间插入删除都是O(n),末尾插入删除都是O(1),头插deque的时间复杂度是O(1),vector是O(n);

3.对于内存的使用效率
vector需要的内存空间必须是连续的,deque可以分块进行数据存储,不需要内存空间必须是连续的

4.在中间进行insert和erase,二者的效率谁更高
由于deque第二维的内存空间不是连续的,所以在deque中间进行元素的insert或者erase,会造成元素移动的时候比vector更慢;

vector和list之间的区别?
1.底层数据结构:
vector是数组,list是双向循环链表

2.插入删除的时间复杂度
vector是数组,插入删除O(n),查询也是O(n),随机访问O(1);
list是双向循环链表,(不考虑查询的花费)插入删除O(1),但是查询是O(n),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值