数据结构(C语言)2.线性表——顺序表和链表的优缺点

本文探讨了链表和顺序表这两种数据结构的特点。顺序表支持随机访问且CPU缓存利用率高,但插入删除操作效率较低;而链表在插入删除方面表现优秀,空间使用灵活,但不支持随机访问且CPU缓存命中率低。

链表和顺序表

这两个结构各有优势,很难说谁更优?

严格来说,它们相辅相成。

  1. 顺序表

优点:①支持随机访问。需要随机访问结构支持算法很好的适用

      ②cpu高速缓存利用率高

缺点:①头部或中部插入或删除时间效率低,O(N)

      ②连续的物理空间,空间不够需要增容。

        增容有一定程度的消耗

          为了避免频繁增容,一般按倍数增容,用不完可能存在一定的空间浪费

  1. 链表(双向带头循环链表)

优点:①任意位置插入删除效率高。O(1)

      ②按需申请释放空间

缺点:①不支持随机访问(下标访问),有些算法不能用(比如快排、二分查找)

②链表存储一个值,同时要存储连接指针,也有一定消耗

cpu高速缓存命中率更低

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值