图书简介:
目 录
第1部分 算法基础
第1章 算法概述 3
第2章 递归与分治法 9
2.1 基本思想 9
2.2 递归算法 10
2.3 二分搜索技术 12
2.4 合并排序 14
2.5 快速排序 19
2.6 线性时间选择 22
第3章 动态规划 28
3.1 基本思想 28
3.2 矩阵连乘 29
3.3 最长公共子序列 36
3.4 最优二叉搜索树 40
3.5 电路布线 49
3.6 0-1背包 54
第4章 贪心算法 61
4.1 基本思想 61
4.2 活动安排问题 61
4.3 背包问题 64
4.4 哈夫曼编码 67
4.5 单源最短路径 71
4.6 最小生成树 75
第5章 回溯法 84
5.1 基本思想 84
5.2 装载问题 84
5.2 批处理作业调度 93
5.3 n皇后问题 97
5.4 最大团问题 105
5.5 图的m着色问题 112
第6章 分支限界法 117
6.1 基本思想 117
6.2 装载问题 117
6.3 0-1背包 123
6.4 旅行商问题 131
第2部分 算法实验
第1章 算法概述实验 143
实验1 算法概述 143
第2章 递归与分治法实验 145
实验1 二分搜索术 145
实验2 合并排序算法 146
实验3 快速排序算法 147
实验4 线性时间选择算法 149
第3章 动态规划实验 151
实验1 矩阵连乘问题 151
实验2 最长公共子序列问题 152
实验3 最优二叉搜索树问题 154
实验4 电路布线问题 156
实验5 0-1背包问题 157
第4章 贪心算法实验 160
实验1 活动安排问题 160
实验2 背包问题 162
实验3 哈夫曼编码问题 163
实验4 单源最短路径问题 164
实验5 最小生成树问题 166
第5章 回溯法实验 168
实验1 装载问题 168
实验2 批处理作业调度问题 169
实验3 n皇后问题 171
实验4 最大团问题 173
实验5 图的m着色问题 175
第6章 分支限界法实验 177
实验1 装载问题 177
实验2 0-1背包问题 178
实验3 旅行商问题 180
参考文献 182
展开
前 言
“算法分析与设计”不仅是计算机科学与技术、软件工程、数据科学与大数据技术等专业的重要学科基础课程及高阶核心课程,而且是非计算机专业如应用数学、计算数学、信息管理及系统工程等的专业课程。随着大数据、云计算及物联网技术的发展,算法设计与分析课程在人才培养中的作用越来越重要,算法教学已成为计算机类人才培养体系不可缺少的部分。教育部计算机科学与技术教学指导委员会编写的《高等学校计算机科学与技术专业实践教学体系与规范》,把算法设计与分析能力界定为计算机专业高级人才的学科基本能力之一;美国计算机协会(ACM)和电气与电子工程师协会计算机学会(IEEE-CS)将算法列为计算学科11个重要领域中的第一位;在国外计算机学科久负盛名的三所大学中,卡内基梅隆大学将Algorithm Design and Analysis(算法设计与分析)列为必修课程,斯坦福大学和麻省理工学院分别将Design and Analysis of Algorithms(算法设计与分析)列为核心课程和先导课程。学生通过对算法设计策略的系统学习与研究,理解和掌握算法设计的主要方法,锻炼自身独立分析问题和解决问题的能力,可为将来从事计算机软件系统设计开发及相关领域的科学研究奠定坚实的基础。
“算法设计与分析”这门课程在培养学生独立探求新技术和新方法,培养学生创新能力、独立思考能力等方面具有重要作用。然而,算法是一门理论性与实践性要求都很高的课程。首先,算法要求学生具有扎实的数学基础,具备数据结构、高级程序设计语言基础知识及操作技能。其次,算法本身涉及的研究领域较宽,应用性较广,延展性较强,这些都会对学习者学习算法带来一定的困难。对于学习者来说,做到真正理解算法并将其灵活地应用到创新实践并非易事。我们从学习者的角度和立场出发,采用丰富的应用实例,结合直观生动的图例分析以及深入细致的讲解,为学习者提供了一本易于理解、易于掌握的算法教材。
本书包含两大部分:算法基础与算法实验。
第一部分是算法基础。这一部分内容涵盖经典算法技术,共6章。第1章为算法概述,第2章到第6章分别为递归与分治法、动态规划法、贪心算法、回溯法及分支限界法。该部分内容重点阐述算法的基本思想、理论框架。针对具体问题,按照算法解决思路、算法设计、编码实现(Java语言)及算法复杂性分析的步骤进行详细论述。
第二部分是算法实验。第一部分讲述的算法均设置了实验项目。每个实验项目包括实验目的、实验要求、实验内容及实验原理。通过实验,可加深读者对算法基本理论、基本策略、主要方法的理解,培养读者针对具体问题选择合适算法正确、有效解决问题的能力。
在本书编写的过程中,作者参考了多种国内外优秀算法设计与分析方面的教材和论著,从中借鉴思路、素材,如王晓东的《算法设计与分析》、Cormen的《算法导论》等,在此向有关作者致谢!
衷心感谢金融学科国家级实验教学示范中心(广东金融学院)对本书出版的资助!
编 者
2019年5月
展开