顺序存储与链式存储的差异

这篇文章主要介绍顺序存储与链式存储的差异,主要是从两个大的维度几个小的方面进行比较。

一,从空间性能角度

(1)由下表可以看出顺序存储的存储密度是1(100%)。什么意思呢?就是开辟一段连续的空间,用来存顺序表,这一段空间所有的位置都用来存储我们需要的数据信息,没有空间的浪费。所以利用率达到了100%【也就是存储密度是1】。然而链式结构中的节点不仅存储了数据,还保存了指针,然而指针并没有存储我们用到的数据,所以说,链式存储的存储密度是小于1的。

(2)由下表可以看出顺序存储的容量分配要弱一些。顺序存储需要多少空间要是事先确定,链式存储是动态分配的,更加灵活吗,可以动态的更改分配。

二,从时间性能方面

(1)在时间性能反方面,查找运算用顺序表更方便,链式表相对来讲就差一些。当然,在内容没有顺序的前提下,他们的时间复杂度是一样的。都是从第一个开始匹配。如果存储的顺序表本身是有序的,涉及到二分查找法时,顺序存储要更优。

(2)读取信息(指定某个内容读取出来)顺序表更优。比如说要读取a[5],在顺序表中,直接读取a[5]即可,但是在链式存储中,假设指针在头结点,,头结点指向1号节点, 要next()4次才能定位到a[5]。

(3)插入运算,链式结构更优。链式结构在插入数据的时候,只需要将要插入的节点的指针指向要插入节点上一个节点的next节点,在将上一个节点的next节点指向要插入的节点即可。但是在链式结构中,需要将要插入位置之后的所有元素向后移,再插入新的节点、

(4)删除运算,链式结构更优。链式结构在删除节点是,只需要将要删除节点的上一个节点的指针指向他的下一个节点即可。然而在链式结构中,需要将要删除节点之后的所有节点前移一个位置。

 

 

转载于:https://www.cnblogs.com/excellencesy/p/8653313.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值