典型应用与总结

典型应用

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

易错点小贴士

总结

术语对照表

中文术语英文术语说明
线性表Linear List相同类型元素的有限序列
顺序表Sequential List用连续存储单元存储的线性表
链表Linked List用指针连接结点存储的线性表
单链表Singly Linked List每个结点只有一个后继指针
双向链表Doubly Linked List每个结点有前驱和后继两个指针
循环链表Circular Linked List首尾相连的链表
头结点Head Node链表第一个结点前附加的辅助结点

核心要点

  • 顺序表随机访问 O(1)O(1),插入删除 O(n)O(n);链表随机访问 O(n)O(n),插入删除 O(1)O(1)(定位后)
  • 单链表插入必须”先接后断”
  • 双向链表支持双向遍历,空间开销更大
  • 循环链表可从任一结点出发遍历全部结点