顺序和链式线性储存方式

线性表不仅可以顺序存储,也可以链式储存,和顺序储存不一样的是,链式储存是一种地址不连续的储存方式,其本质在于储存的时候我储存两个东西,一个是储存的元素,另一个是下一个元素的地址,数据的逻辑关系是用地址来储存。

我们管这两部分信息叫做结点

那么为什么要有顺序存储和链式存储呢?有什么专门的优势吗?顺序储存由于地址是连续的,所以储存的时候我们很容易知道顺序存储元素的位置,从而再O(1)的复杂度上查找到相应的元素,但是其缺点是删除与增添元素,需要将修改元素后面的所有元素修改位置,后向后移一个单位或者都向前移一个单位,所以复杂度就明显上来了,O(n)的复杂度。

另外链式存储的好处与缺点正好和线性存储反过来,链式存储查找元素是O(n),因为需要头指针开始(头指针储存了第一个元素的地址),指向第一个元素的地址,通过第一个元素的地址,知道第一个元素是什么,然后通过第一个元素的指针域,知道第二个元素的地址,以此类推,这个就好比是贪吃蛇中夹带着连连看。

链式存储很好的优点是增添和删除元素,只要改变指针的地址指向就行了,而不需要大范围的更改。

所以用顺序储存和链式储存的关键在于需求,不一样的需求,建立不一样的数据结构存储类型。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值