数据结构与算法总览
这部分不追求把算法题刷成竞赛风格,而是帮助前端工程师建立三个意识:
- 数据应该用什么结构存
- 操作一个结构时大概需要多少成本
- 遇到题目或业务问题时,能不能先选对模型再写代码
字典 Map
- 用来存储唯一值的一种数据结构, 通常以 [键, 值] 对 的形式来存储数据
栈
- 栈是一种线性数据结构,用于存储一组有序的元素。
队列
- 队列是一种线性数据结构,用于存储一组有序的元素。
链表
- 链表是一种非线性数据结构,用于存储一组有序的元素。
树
- 树是一种非线性数据结构,用于存储一组有层次关系的元素。
图
- 图是一种非线性数据结构,用于存储一组有关联关系的元素。
堆
堆(Heap)是一种基于树的数据结构,常用于实现优先队列和排序算法。堆分为最大堆和最小堆两种类型,它们的主要区别在于根节点的值。