典型应用

1. 排序与搜索算法 #

1.1 排序算法 #

  • 冒泡排序
  • 快速排序
  • 归并排序
  • 堆排序
  • 插入排序
  • 选择排序
  • 希尔排序
  • 计数排序
  • 基数排序
  • 桶排序

1.2 搜索算法 #

  • 线性搜索
  • 二分搜索
  • 深度优先搜索
  • 广度优先搜索
  • 哈希搜索
  • 插值搜索
  • 指数搜索
  • 跳表搜索

2. 图论算法 #

2.1 最短路径算法 #

  • Dijkstra算法
  • Bellman-Ford算法
  • Floyd-Warshall算法
  • A*搜索算法
  • SPFA算法

2.2 最小生成树算法 #

  • Prim算法
  • Kruskal算法
  • Boruvka算法

2.3 网络流算法 #

  • Ford-Fulkerson方法
  • Edmonds-Karp算法
  • Dinic算法
  • 最大流最小割定理

2.4 图匹配算法 #

  • 匈牙利算法
  • Hopcroft-Karp算法
  • 稳定婚姻问题算法

3. 动态规划算法 #

3.1 经典动态规划问题 #

  • 背包问题
  • 最长公共子序列
  • 最长递增子序列
  • 矩阵链乘法
  • 编辑距离
  • 硬币找零问题
  • 最大子数组和

3.2 状态压缩动态规划 #

  • 旅行商问题
  • 状态空间优化技巧
  • 位运算在动态规划中的应用

4. 字符串算法 #

4.1 字符串匹配算法 #

  • KMP算法
  • Boyer-Moore算法
  • Rabin-Karp算法
  • 有限自动机匹配
  • Sunday算法

4.2 字符串处理算法 #

  • 后缀数组
  • 后缀树
  • 字典树
  • AC自动机
  • 回文串算法

5. 数论与组合算法 #

5.1 数论算法 #

  • 欧几里得算法
  • 扩展欧几里得算法
  • 素数判定算法
  • 质因数分解
  • 模运算与同余
  • 中国剩余定理

5.2 组合数学算法 #

  • 排列组合计算
  • 卡特兰数
  • 斯特林数
  • 容斥原理
  • 生成函数

6. 计算几何算法 #

6.1 基本几何算法 #

  • 点与线的关系判断
  • 线段相交检测
  • 凸包算法
  • 多边形面积计算
  • 最近点对问题

6.2 高级几何算法 #

  • 扫描线算法
  • 旋转卡壳
  • 半平面交
  • Voronoi图
  • Delaunay三角剖分

7. 近似算法与随机算法 #

7.1 近似算法 #

  • 集合覆盖问题
  • 旅行商问题近似解
  • 顶点覆盖问题
  • 装箱问题
  • 近似比分析

7.2 随机算法 #

  • 随机快速排序
  • 蒙特卡洛方法
  • 拉斯维加斯算法
  • 随机游走
  • 概率分析

8. 并行与分布式算法 #

8.1 并行算法 #

  • 并行排序算法
  • 并行搜索算法
  • 并行图算法
  • MapReduce模型
  • 并行计算模型

8.2 分布式算法 #

  • 一致性算法
  • 拜占庭将军问题
  • 分布式哈希表
  • 分布式排序
  • 分布式图算法

9. 机器学习算法 #

9.1 监督学习算法 #

  • 线性回归
  • 逻辑回归
  • 支持向量机
  • 决策树
  • 随机森林
  • 神经网络

9.2 无监督学习算法 #

  • K-means聚类
  • 层次聚类
  • 主成分分析
  • 关联规则挖掘
  • 异常检测算法

10. 数据库与信息检索算法 #

10.1 数据库算法 #

  • B树与B+树
  • 哈希索引
  • 查询优化算法
  • 事务处理算法
  • 数据压缩算法

10.2 信息检索算法 #

  • 倒排索引
  • PageRank算法
  • TF-IDF算法
  • 潜在语义分析
  • 推荐系统算法

11. 密码学与安全算法 #

11.1 加密算法 #

  • 对称加密算法
  • 非对称加密算法
  • 哈希函数
  • 数字签名
  • 密钥交换协议

11.2 安全协议算法 #

  • 身份认证协议
  • 安全多方计算
  • 零知识证明
  • 区块链共识算法
  • 安全哈希算法

12. 实时与嵌入式系统算法 #

12.1 实时调度算法 #

  • 速率单调调度
  • 最早截止时间优先
  • 最小松弛度优先
  • 优先级继承协议
  • 优先级天花板协议

12.2 嵌入式系统算法 #

  • 内存管理算法
  • 电源管理算法
  • 传感器数据处理
  • 嵌入式机器学习
  • 实时操作系统算法