数组 链表

数组 & 链表

物理结构上的差异,导致了他们在访问、增加、删除节点这三种操作上所带来的时间复杂度不同

  • 访问
    • 数组在物理内存上是连续存储的,硬件上支持 随机访问
    • 链表也没有下标的概念,只能通过头节点指针,从每一个节点,依次往下找,是顺序访问
  • 增加
    • 数组在内存中是连续存储的,要想在某个节点之前增加,必须要把此节点往后的元素依次后移
    • 链表中只需要改变节点中的“指针”,就可以实现增加,这样能实现动态扩容
  • 删除 同理
  • 内存管理
    • 内存管理会将连续的存储空间提前读入缓存(局部性原理),所以数组往往会被都读入到缓存中,这样进一步提高了访问的效率
    • 链表由于在内存中分布是分散的,往往不会都读入到缓存中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值