Linear Data Structure
Queue
BFS 的主要类型结构 —— 都是O(1)
Stack
DFS 的主要类型结构 Push(), Peek(), Top()都是O(1)
Hash
Hash Table => 支持多线程, 多线程安全
Hash Map
Hash Set
Hash Function 对于任意的key得到一个固定的,无规律的,介于0 ~ capacity - 1的整数
- MD5
- SHA - 1
- SHA - 2
解决冲突的方式:
- Closest Hashing 占下一个坑
- Open Hashing (存链表) 记得自己实现下
Hash 表不够大 ?=> Rehashing
如果想要存 x 数,hash表最好有10 * x个坑位
自己实现Hash Map; 做下 LRU cache的问题
自己的HashMap
|
|
Tree
一定记得认真研究一下Trie结构,基本是Google家必面的一个数据结构
Heap
O(logN) add / O(logN) delete / O(1) get min or get max