图书目录

目录

第1章算法基础

1.1算法与程序

1.2算法复杂度分析

1.3算法复杂度的渐进性态

1.4O、Ω、θ

1.5数学基础

1.6非递归算法复杂度分析

1.7小结

习题

第2章递归与分治

2.1递归的概念

2.2分治法

2.2.1分治法的思想

2.2.2分治法的适用条件

2.2.3分治法的基本框架

2.2.4分治法的复杂度分析

2.3分治法的应用

2.3.1一维数组的二分查找

2.3.2二维数组查找

2.3.3合并排序

2.3.4逆序对

2.3.5快速排序

2.3.6k选择问题

2.3.7棋盘覆盖

2.3.8快速幂

2.3.9大整数乘法和Strassen矩阵乘法

2.3.10快速傅里叶变换

2.4小结

习题

第3章贪心算法

3.1贪心算法的思想

3.2贪心算法的要素

3.2.1贪心选择性质

3.2.2最优子结构性质

3.3活动选择问题

3.3.1问题概述

3.3.2算法步骤

3.3.3案例讲解

3.4任务调度问题

3.4.1问题概述

3.4.2算法步骤

3.4.3案例讲解

3.5最小生成树问题

3.5.1问题概述

3.5.2算法步骤

3.5.3案例讲解

3.6单源最短路径问题

3.6.1问题概述

3.6.2算法步骤

3.6.3案例讲解

3.7哈夫曼编码问题

3.7.1问题概述

3.7.2算法步骤

3.7.3案例讲解

3.8小结

习题

第4章回溯算法

4.1回溯算法的思想

4.2排列问题

4.3组合问题(子集问题)

4.4N皇后问题

4.501背包问题(回溯算法)

4.6物流派送问题(旅行商问题)

4.7小结

习题

第5章分支限界算法

5.1分支限界算法的思想

5.2最小出边限界法

5.3未访问城市最小出边之和限界法

5.4广度优先搜索的未访问城市最小出边之和限界法

5.501背包问题(分支限界算法)

5.6小结

习题

第6章动态规划算法

6.1动态规划算法的思想

6.2线性动态规划

6.3背包类问题

6.4记忆化搜索与区间动态规划

6.5小结

习题

第7章智能算法

7.1智能算法的分类

7.2粒子群优化算法

7.2.1算法概述

7.2.2算法步骤

7.2.3参数设置

7.2.4案例讲解

7.3模拟退火算法

7.3.1算法概述

7.3.2算法步骤

7.3.3参数设置

7.3.4案例讲解

7.4禁忌搜索算法

7.4.1算法概述

7.4.2算法步骤

7.4.3参数设置

7.4.4案例讲解

7.5小结

习题

参考文献