每日科普 · 2026-09-11 周五
考研 408 × 求职面试
知识点 · 数据结构 · 基础
顺序表与链表的区别及适用场景
顺序表用连续内存存放元素,逻辑上相邻的数据物理上也相邻;链表用节点加指针串联,物理上可以不连续。
1. 访问方式:顺序表支持随机访问,按下标取元素为 O(1);链表只能从头顺序访问,为 O(n)。
2. 插入删除:顺序表平均要移动大量元素,为 O(n);链表在已知前驱节点时只需改指针,为 O(1)。
3. 空间:顺序表需预先分配,可能浪费或溢出;链表按需申请,灵活但每节点多存指针。
4. 缓存:顺序表内存连续,局部性好,遍历更快;链表指针跳转,缓存不友好。
适用场景:需要频繁随机访问、元素数量相对稳定时用顺序表;需要频繁插入删除、长度变化较大时用链表。
每日一题 · 数据结构
顺序表与链表的区别及适用场景
下列关于顺序表和链表的说法,正确的是( )
A. 顺序表的插入删除一定比链表快
B. 链表支持按下标随机访问
C. 顺序表支持 O(1) 随机访问,链表在已知前驱时插入删除为 O(1)
D. 链表一定比顺序表更省内存
解析
选 C。顺序表靠连续存储和地址计算实现 O(1) 随机访问;链表节点含指针,已知前驱时改指针即可 O(1) 插入删除,故选 C。A 错,顺序表插入删除平均 O(n),通常慢于链表;B 错,链表只能顺序访问;D 错,链表每节点额外存指针,不一定更省内存。
面试小贴士 · 数据结构
顺序表与链表的区别及适用场景
面试常问区别与选型:先答存储结构,再按访问、插入删除、空间、缓存四个维度对比,最后给场景结论。易错:误说链表随机访问快、忽略缓存局部性、漏掉'已知前驱'这个前提。