顺序表和链表的优缺点

文章比较了顺序表和链表的特性。顺序表优点在于随机访问和高缓存命中率,但扩容成本高,插入删除效率低。链表则能灵活分配空间,快速插入删除,但不支持随机访问,且缓存命中率低。链表类型特别提到了带头循环双向链表。
摘要由CSDN通过智能技术生成

这里说的链表是(带头循环双向链表),下面我们就说一下他们的优缺点

首先顺序表

优点

1.支持随机访问

2.在O(1)的时间复杂度内,访问下标为i的位置。

3.很多算法的都必须用顺序表例如sort

4.缓存命中率高

缺点

1.每次容量满了都需要扩容(扩容很浪费系统资源)

2.容易浪费空间

3.头插头删,或者中间插入删除效率太低

链表

优点

1.想要多少空间就直接申请多少空间

2.任意位置的插入删除效率高

缺点

1.不支持随机访问

2.每个节点内都两个指针,浪费

3.缓存命中率低

5c346fc013b44ded95bc855eab94f18a.png

 大家也可以看一下这张图片,上面更完善

这就是他们的优缺点,这里可能不完善,如果大家有什么想要补充的都可以直接提出。

上面提到了缓存命中率

我们可以看一下

4e256841d12842b89c0e098725ee8383.png

 什么是缓存命中率?缓存就是cpu每一次访问数据都不是直接和内存打交道,因为内存太慢,所以所以每一次都是缓存加载一部分数据,然后供cpu访问,而这里的缓存是每一次都加载一段数据,并不是一个一个加载,由于顺序表内存是连续的,所以缓存命中率高,而链表的内存不是连续的,所以缓冲命中率低

 

 

完毕~~~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Naxx Crazy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值