顺序表和链表的区别

前言:前面已经学习了顺序表和链表的相关知识(详见往期博客),本篇旨在分析两者中间的区别

注,链表特指带头双向循环链表

一,插入 (顺序表<链表)

顺序表

动态顺序表,空间不够时需要扩容

扩容分为原地扩容和异地扩容

扩容本身存在消耗,还存在空间浪费

链表

没有容量的概念

按需申请释放,不浪费空间

二,应用场景

顺序表

元素高效存储+频繁访问

链表

任意位置插入和删除频繁

三,随机访问(用下标随机访问)(顺序表>链表)

顺序表

支持O(1)

链表

不支持:O(N)

四,存储空间上(顺序表>链表)

顺序表

物理上一定连续

链表

逻辑上连续,但物理上不一定连 续

五,任意位置插入或者删除元素(顺序表<链表)

顺序表

可能需要搬移元素,效率低O(N)

链表

只需修改指针指向

六,缓存利用率

顺序表

链表

在缓存,缓存命中,直接访问

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

因为链表不连续,故效率低 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值