索引分类
1、字符串
2、数组
(后缀数组)
3、链表
(单链表、双向链表、循环链表/环链表)
4、跳表
5、堆
(优先队列)
6、栈
(单调栈)
7、队列
(单调队列)
8、哈希
(哈希表、哈希函数、滚动哈希、一致性哈希)
9、集合
10、树
(二叉树、二叉搜索树/二叉排序树、树状数组/二叉索引树、平衡二叉树、字典树、线段树、最小生成树、并查集、红黑树)
11、图
(最短路、欧拉回路、强连通分量、双连通分量、拓扑排序)
12、位图
13、布隆过滤器
14、查找
(二分查找、最短路、深度优先搜索、广度优先搜索、记忆化搜索)
15、排序
(冒泡排序、堆排序、基数排序、归并排序、拓扑排序、桶排序、计数排序、快速排序、插入排序、希尔排序)
16、算法思想
(枚举、递归、回溯)、(递推、模拟、迭代)、(贪心、分治、动态规划)、(分支界限、概率、近似)
17、数学
(集合、矩阵、数论、组合数学、概率与统计、水塘抽样、拒绝采样、几何、博弈、随机化、脑筋急转弯)
18、典型问题
(双指针、滑动窗口、位运算、数据流、状态压缩、交互、扫描线、计数、快速选择、迭代器、前缀和与差分、设计)