数组与链表

1.数组(Array)

特点

  • 连续内存
  • 支持随机访问(O(1))
  • 插入/删除成本高(O(n))

前端典型场景

  • 列表渲染(React/Vue diff)
  • 虚拟列表(windowing)
  • 批量数据处理

常见优化点

  • 避免频繁 splice
  • 使用索引替代对象查找
  • 大数据量分页 / 虚拟滚动

2.链表(Linked List)

特点

  • 非连续内存
  • 插入删除快(O(1))
  • 查询慢(O(n))

前端思维映射

  • Fiber 架构(类似链表调度)
  • 中间件链(如 Redux / Koa)
  • 任务调度队列

关键认知

链表本质是“指针关系”,适合频繁插入删除场景