up md md md md md md md md md md md md md md
返回上级
from - zero · data-structures
数据结构解决的不是“怎么刷题”,而是一个更基础的问题:
complexity - memory
学习数据结构时,最容易背成:
array - dynamic - array
数组是最基础、最重要的数据结构。很多复杂结构底层都离不开数组。
linked - list
数组要求连续存储,插入删除中间元素要移动大量数据。链表提供另一种思路:
stack - queue
栈和队列都是“受限访问”的结构。
hash - table
哈希表解决的问题是:
tree - binary - search - tree
数组和链表表达的是线性关系:
balanced - tree - btree
上一章讲了二叉搜索树,但普通搜索树会退化。
heap - priority - queue
普通队列按进入顺序处理:
graph
树表达层级,但现实中很多关系不是单一父子关系:
string - structures
字符串不是“字符数组”这么简单。很多实际问题都围绕字符串:
bitmap - bloom - skiplist
前面讲的结构大多是“精确保存元素”。但高性能系统里经常有更强的约束:
selection - guide
学完一堆结构后,真正难的是实际问题里怎么选。
README · data-structures
数据结构研究的是:信息放在哪里、怎么放、怎么找、怎么改,成本是多少。