logo
数据结构

01. 线性表

A1A2A3A4A5
顺序表:元素地址连续,支持随机访问

线性表是数据结构中最基础、最常用的结构之一,理解它有助于后续学习栈、队列、字符串等内容。

1. 基本概念

  • 线性表:具有相同数据类型的 n 个数据元素的有限序列
  • 特点:有唯一的第一个元素和最后一个元素,除首尾外每个元素有且仅有一个前驱和一个后继

2. 存储结构对比

存储方式地址连续支持随机访问插入/删除效率空间利用率
顺序表
链表
  • 顺序表:用一组地址连续的存储单元依次存放线性表元素
  • 链表:每个结点包含数据域和指针域,通过指针连接

3. 动画演示

A1A2A3A4A5
顺序表:元素地址连续,支持随机访问

4. 易错点小贴士

顺序表插入/删除时,需整体移动元素,链表则只需修改指针,易混淆!

5. 线性表的典型应用

  • 作为栈、队列、字符串等数据结构的基础
  • 任务队列、浏览历史、购物车、文本编辑器的撤销/重做等
应用场景推荐结构
需要频繁随机访问顺序表
需要频繁插入删除链表

练习题

  1. 简述线性表的定义和主要特点。
  2. 顺序表和链表各自的优缺点是什么?
  3. 单链表插入和删除操作的基本思想是什么?
  4. 如何实现线性表的遍历?
  5. 线性表有哪些典型应用?
参考答案

1. 定义与特点

线性表是 n 个数据元素的有序序列,有唯一首尾,元素一对一关系


2. 顺序表与链表优缺点

顺序表:查找快,插入/删除慢,空间利用率低;链表:插入/删除快,查找慢,空间利用率高


3. 单链表插入/删除

插入:新结点指向后继,前驱指向新结点;删除:前驱指向被删结点的后继


4. 遍历实现

顺序表:下标循环;链表:指针逐结点访问


5. 典型应用

栈、队列、字符串、查找、排序、合并等