【数据结构】顺序表和链表的优缺点

1.顺序表

优点:

1、物理空间是连续的,方便使用下标随机访问。

缺点:

1、由于需要物理空间连续,空间不够需要扩容。扩容本身有一定消耗,其次扩容机制还存在一定的空间浪费。

2、头部或者中部的插入、删除需要挪动数据,效率低 O(n).

2.链表

优点:

1、任意位置的插入删除数据的效率高O(1).

2、按需申请和释放空间。

缺点:

1、不支持下标的随机访问。有些算法不适合在链表上进行,比如二分查找、排序等

2、空间利用率不如链表,需要一个结点中除了有数据,还有指向其他结点的指针

3、顺序表其他优点

顺序表还有一个优点:CPU高速缓存命中率高

由于内存的速度太慢,CPU不会直接访问内存,数据会先加载到三级缓存或寄存器(4/8byte的小数据会放到寄存器,大数据加载到缓存)

CPU会看数据是否在缓存,在就叫命中,直接访问

不在就叫不命中,先把数据从内存加载到缓存,再访问

而每次加载基于局部性原理,会把数据连续一段空间都加载到缓存

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值