前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2-7 顺序表 和 链表 对比

2-7 顺序表 和 链表 对比

作者头像
TeeyoHuang
发布2019-07-02 14:08:31
3440
发布2019-07-02 14:08:31
举报

2-7 顺序表 和 链表 对比

1、存储结构的不同

虽然它们同属于线性表,但数据的存储结构有本质的不同:

顺序表存储数据,需预先申请一整块足够大的存储空间,然后将数据按照次序逐一存储,逻辑关系就是靠元素间物理空间上的邻接关系来维持

链表 ,什么时候存储数据,什么时候才申请存储空间,数据之间的逻辑关系依靠每个数据元素携带的指针维持

2、空间利用率

顺序表的空间利用率显然要比链表高。

首先是链表每个结点不光有数据域,还有指针域。这就比顺序表多耗费一点空间。

链表在存储数据时,每次只新开辟一个node的空间,且位置是随机的,会产生很多空间碎片,一定程序上造成了空间浪费。

3、时间复杂度

根据顺序表和链表在存储结构上的差异,问题类型主要分为以下 2 类:

主要涉及访问元素的操作,元素的插入、删除和移动操作极少;

主要涉及元素的插入、删除和移动,访问元素的需求很少;

第 1 类问题适合使用顺序表。这是因为,顺序表中存储的元素可以使用数组下标直接访问,无需遍历整个表,因此使用顺序表访问元素的时间复杂度为 O(1);如果要在链表中访问元素,需要从头指针依次遍历,直到找到指定节点,花费的时间复杂度为 O(n);

第 2 类问题则适合使用链表。链表中数据元素之间的逻辑关系靠的是节点之间的指针,当需要在链表中某处插入或删除节点时,只需改变相应节点的指针指向即可,不用大量移动元素,因此链表中插入、删除或移动数据所耗费的时间复杂度为 O(1);而顺序表中,插入、删除和移动数据可能会牵涉到大量元素的整体移动,时间复杂度至少为 O(n);

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年06月21日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2-7 顺序表 和 链表 对比
  • 1、存储结构的不同
  • 2、空间利用率
  • 3、时间复杂度
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档