程序 = 数据结构 + 算法.
I. Overview 综述
II. 空间复杂度和时间复杂度分析
III. 数据结构 Data structure
3.1 线性表
- 数组 Array
- 链表 Linked List
- 栈 Stack
- 队列 Queue
3.2 散列表
散列函数
冲突解决
动态扩容
位图
3.3 数 Trees
二叉树
多路查找树
堆 Heap
3.4 图 Graph
图的存储
拓扑排序
最短路径
关键路径
最小生成树
二分图
最大流
IV. 算法
4.1 基本算法思想与代表性实现
-
贪心算法
-
动态规划
-
回溯算法
-
枚举算法
4.2 排序算法 Sorting
4.3 搜索 Search
- 深度优先搜索
- 广度优先搜索
- A* 启发式搜索
4.4 查找 Find
- 线性表查找
- 树结构查找
- 散列表查找
4.5 字符串匹配 String Matching
- 朴素
- KMP
- Robin-Karp
- Boyer-Moore
- AC 自动机
- Trie