|
編輯推薦: |
《算法设计、分析与应用教程》适合高样计算机专业以及相关专业做为教材使用,也可供编程爱好者参考使用。
|
內容簡介: |
《算法设计、分析与应用教程》通过设计、分析ACM库的经典问题,把理论与实践结合。各章遵循从一个例子或故事中引出本章知识点,简述相关理论,分析经典问题及算法实现。主要包括算法概述、递归与分治策略、动态规划、贪心算法、回溯算法、分支限界算法、图的搜索算法、加密算法与安全机制、P和NP问题等内容。有故事、有理论、有公式、有实践。所有算法实现结果都经参加ACM的队员验证。本书适合高样计算机专业以及相关专业做为教材使用,也可供编程爱好者参考使用。
|
關於作者: |
李文书,教授,工学博士,现任浙江理工大学信息学院,智能检测与系统实验室主任,硕士生导师。IEEE 1-1163129461、中国计算机学会(E200016385M)会员和杭州市计算机学会会员;151第三层次培养人才。
|
目錄:
|
第1章 算法概述
1.1 引言
1.1.1 算法的描述
1.1.2 算法的特性
1.1.3 为什么学习算法
1.2 算法的设计
1.3 算法的分析
1.3.1 正确性分析
1.3.2 时空效率分析
1.3.3 时空特性分析
1.4 解决问题的一般步骤
1.5 小结
1.6 习题
第2章 递归与分治策略
2.1 递归算法
2.1.1 递归的概念
2.1.2 具有递归特性的问题
2.1.3 递归算法分析
2.2 分治策略
2.2.1 分治法的基本步骤
2.2.2 分治法的适用条件
2.2.3 二分搜索技术
2.2.4 棋盘覆盖问题
2.2.5 快速排序
2.2.6 大整数乘法
2.2.7 矩阵乘法
2.3 ACM经典问题解析
2.3.1 蜂窝问题难度:★☆☆☆☆)
2.3.2 Humble Numbers难度:★★☆☆☆)
2.3.3 Copying Books难度:★★★☆☆)
2.3.4 Fractal难度:★★★☆☆)
2.3.5 TOYS难度:★★☆☆☆)
2.3.6 Cable master难度:★★☆☆☆)
2.4 小结
2.5 习题
第3章 动态规划
3.1 何谓动态规划
3.1.1 动态规划的基本思想
3.1.2 设计动态规划法的步骤
3.1.3 动态规划问题的特征
3.1.4 动态规划与静态规划的关系
3.2 矩阵连乘积问题
3.2.1 分析最优解的结构
3.2.2 建立递归关系
3.2.3 计算最优值
3.2.4 构造最优解
3.3 动态规划算法的基本要素
3.3.1 最优子结构
3.3.2 重叠子问题
3.3.3 备忘录方法
3.4 最长公共子序列
3.4.1 最长公共子序列的结构
3.4.2 子问题的递归结构
3.4.3 计算最优值
3.4.4 构造最长公共子序列
3.5 最大子段和
3.5.1 递归关系分析
3.5.2 算法实现
3.6 0-1背包问题
3.6.1 递归关系分析
3.6.2 算法实现
3.7 ACM经典问题解析
3.7.1 数塔难度:★★☆☆☆)
3.7.2 免费馅饼 难度:★★★☆☆)
……
第4章 贪心算法
第5章 回溯法
第6章 分支限界算法
第7章 图的搜索算法
第8章 公钥加密算法
第9章 P和NP问题浅析
附录A 求和
附录B 数论入门
参考文献
|
|