单链表结构和顺序表存储结构的优缺点

本文对单链表和顺序表这两种数据结构进行了对比总结。顺序表可动态存储,但存在空间浪费、开辟效率低等问题;单链表插入元素效率高,但查找能力差。顺序表查询元素优势明显,单链表插入删除元素更高效,可按需选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天学习了单链表就和顺序表对比做个总结吧

其实链表和顺序表(数组)没有谁好谁差。两种数据结构的优缺点正好互补
数组的缺点:不能动态存储
顺序表:解决了动态存储,但是还是有缺点
1.空间开辟不当,会有空间浪费
2.开辟空间会是效率降低
3.中间或头部插入元素要挪动其他空间,时间复杂度为O(N),效率低下
链表:链表的插入元素都是O(1),效率高,但是不能像数组访问空间,可以随机访问元素位置,查找元素的能力差,而且缓存命中率低下,而数组缓存命中率很高

存储结构方式

顺序表:用一段连续的存储单位依次放置线性表中的元素
单链表:采用链式存储,可以将任意的存储单元存放至线性表内

时间性能

查询元素:

  • 顺序表O(1)
  • 单链表O(n)

插入删除元素

  • 顺序表平均移动表长的一半的元素,时间O(n)
  • 单链表只要找到第i个元素的所在位置,再插入和删除元素就为O(1)

总结:

  • 由上可知,单链表优势是插入和删除元素,顺序表优势是查询元素,并且数据越大,优势越明显。如果你要的操作是频繁的查询元素,最好采用顺序表,如果要频繁插入元素,最好用单链表。像之后如果在游戏开发时候,捡装备等都需要用到频繁插入储存单元(这只是一个小例子)。当然如果已经知道存储单元个数(一周7天,7月31天)顺序表会更有效率。

在这里插入图片描述

之后我还会再出顺序表和单链表的代码,希望可以帮助到你,可以和我一起进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hyzhang_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值