# Introduction to Algorithm
- 第一章 算法在计算机中的作用
- 第二章 算法基础
- [插入排序](./src/sort/insert_sort.rs)
- 分析算法
- 设计算法
- [分治法](./src/sort/merge_sort.rs)
- 分析分治算法
- 第三章 函数的增长
- 第四章 分治策略
- [最大子数组问题](./src/chapter4/find_maximum_subarray.rs)
- 矩阵乘法的Strassen算法
- 用带入法求解递归式
- 用递归方法求解递归式
- 用主方法求解递归式
- 证明主定理
- 第五章 概率分析和随机算法
- 第6章 堆排序
- [堆](./src/heap.rs)
- [维护堆的性质](./src/heap.rs)
- [建堆](./src/heap.rs)
- [堆排序算法](./src/heap.rs)
- 优先队列
- 第7章 快速排序
- 第八章 线性时间排序
- 第9章 顺序数和概率统计量
- 第10章 基本数据结构
- [栈](./src/stack.rs)
- [队列](./src/queue.rs)
- 链表
- 指针和对象的实现
- 有根树的表示
- 第11章 散列表
- 第12章 二叉搜索树
- 第13章 红黑树
- 第14章 数据结构的扩张
- 第15章 动态规划
- 第16章 贪心算法
- 第17章 摊还分析
- 第18章 B树
- 第19章 斐波那契堆
- 第20章 van Emde Boas树
- 第21章 用不相交集合的数据结构
- 第22章 基本图算法
- 第23章 最小生成树
- 第24章 单源最短路径
- 第25章 所有节点对的最短路径问题
- 第26章 最大流
- 第27章 多线程算法
- 第28章 矩阵运算
- 第29章 线性规划
- 第30章 多项式与快速傅立叶变换
- 第31章 数论算法
- 第32章 字符串匹配
- 第33章 计算机几何学
- 第34章 NP完全问题
- 第35章 近似算法