关于动态链表和数组的效率

这个问题有点大,要了解它首先必须对系统内存的有所接触,
我也只是凭借粗浅的伎俩来谈谈对它们的体会(大家想笑的尽管,不要没事拿它偷着乐)
 
内存在提取数据时,首先在内存起始位置产生一个指针,它通过数据存储位置的偏移量来寻找地址,再读取数据.
(1)由于数组是连续的,因此只要寻找到数组的首地址返回,之后只要从数组的首地址产生用来定位的指针来寻找数
    据地址,由于地址是连续的,而且通常偏移量都不大,因此数组对数据存取很方便.
 
(2)链表的空间是动态分配的,因此每个单元的地址是混乱的,因此每次对各单元地址的寻找都必须从用来动态分配
   的内存空间首地址+偏移量开始查找,所以需要的操作就要比数组大得多.
   // 从理论上链表可以达到数组一样的效率,不过必须分配的空间是从用来动态分配的内存空间首地址开始连续分配,大家可以用统计的方法来计算下数学期望.低~~~~~~~~相当的低~~~!!!!  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值