第一章 算法基础概念 #
1.1 算法定义与特性 #
- 算法的基本定义
- 算法的五大特性
- 算法与程序的区别
- 算法的表示方法
1.2 算法复杂度分析 #
- 时间复杂度概念
- 空间复杂度概念
- 渐进表示法
- 最好、最坏和平均情况分析
第二章 算法设计范式 #
2.1 分治算法 #
- 分治策略基本原理
- 递归与分治的关系
- 经典分治算法实例
- 分治算法复杂度分析
2.2 动态规划 #
- 最优子结构性质
- 重叠子问题特性
- 备忘录技术
- 状态转移方程设计
2.3 贪心算法 #
- 贪心选择性质
- 最优子结构验证
- 贪心算法正确性证明
- 贪心与动态规划比较
2.4 回溯算法 #
- 解空间树概念
- 剪枝优化技术
- 回溯框架设计
- 典型回溯问题分析
2.5 分支限界法 #
- 界限函数设计
- 优先队列应用
- 分支策略选择
- 限界条件确定
第三章 基本数据结构算法 #
3.1 数组与链表算法 #
- 线性查找算法
- 二分查找算法
- 链表操作算法
- 数组排序基础
3.2 栈与队列算法 #
- 栈的应用算法
- 队列的应用算法
- 双端队列算法
- 优先队列实现
3.3 树结构算法 #
- 二叉树遍历算法
- 二叉搜索树操作
- 平衡树基本原理
- 堆结构与堆算法
3.4 图论算法 #
- 图的表示方法
- 深度优先搜索
- 广度优先搜索
- 最短路径算法
- 最小生成树算法
第四章 排序与搜索算法 #
4.1 比较排序算法 #
- 冒泡排序原理
- 选择排序实现
- 插入排序优化
- 归并排序分析
- 快速排序变体
- 堆排序过程
4.2 非比较排序算法 #
- 计数排序原理
- 桶排序设计
- 基数排序实现
- 非比较排序适用范围
4.3 搜索算法进阶 #
- 哈希搜索技术
- 跳表搜索原理
- B树搜索算法
- 字符串匹配算法
第五章 算法分析与优化 #
5.1 算法正确性证明 #
- 循环不变式方法
- 数学归纳法应用
- 算法终止性证明
- 正确性验证技术
5.2 算法效率提升 #
- 空间换时间策略
- 预处理优化技术
- 并行算法基础
- 分布式算法概念
5.3 近似算法 #
- 近似比概念
- 随机化算法设计
- 启发式算法原理
- 局部搜索技术
第六章 高级算法专题 #
6.1 数论算法 #
- 最大公约数算法
- 素数判定算法
- 模运算算法
- 数论在密码学应用
6.2 计算几何算法 #
- 凸包算法
- 线段相交检测
- 最近点对问题
- 几何变换算法
6.3 字符串算法 #
- KMP算法原理
- 后缀树结构
- 正则表达式匹配
- 压缩算法基础
6.4 并行与分布式算法 #
- 并行计算模型
- 分布式一致性
- 负载均衡算法
- 容错算法设计
第七章 算法实践与应用 #
7.1 算法选择策略 #
- 问题特征分析
- 算法适用场景
- 性能权衡考虑
- 实际应用案例
7.2 算法测试与调试 #
- 测试用例设计
- 边界条件处理
- 性能 profiling
- 算法正确性验证
7.3 算法优化实践 #
- 代码优化技巧
- 内存管理优化
- 缓存友好设计
- 实际性能调优