





定价:39.5元
印次:1-5
ISBN:9787302381136
出版日期:2015.05.01
印刷日期:2018.06.19
图书责编:魏江江
图书分类:教材
本书系统地介绍了各种常用的算法设计策略,包括穷举法、分治法、贪心法、动态规划法、回溯法、分枝限界法等,并详细讨论了各种图搜索算法和计算几何设计算法。 全书既注重原理又注重实践,配有大量图表、上机实验题和练习题,内容丰富,概念讲解清楚,表达严谨,逻辑性强,语言精练,可读性好。 本书既便于教师课堂讲授,又便于自学者阅读。本书可作为高等院校算法设计与分析课程的教材,也可供ACM和各类程序设计竞赛者参考。
如果希望加入教师微信交流群,请加微信:itbook8 如果希望加入教师QQ交流群,请加QQ:883604 加入时,请写明:“学校+姓名”,并写明“加入教师群”,只限教师。
算法在计算科学中扮演着重要角色。算法设计是计算机科学与技术专业的专业必修课,其目标是培养学生分析问题和解决问题的能力,使学生掌握算法设计的基本技巧和方法,熟悉算法分析的基本技术,并能熟练运用一些常用算法,解决一些较综合的问题。 在学习本课程之前,学生已经学习了基本的数据结构知识,能熟练运用一门或多门编程语言,并具备了一定的编程经验。如何利用这些已学过的知识,对不同的实际问题设计出有效的算法,正是本课程所要达到的目的。 本课程特点是“问题模型化,求解算法化,设计最优化”,在掌握必要的算法设计技术和编程技巧的基础上,能够在实际工作中根据具体问题设计和优化算法。本书是针对这一特点并结合本课程组的教学经验编写的。 全书由10章构成,各章内容如下: 第1章 概论,介绍算法的概念、算法分析方法和基本的计算复杂性理论。 第2章 递归算法设计技术,介绍递归的概念、递推式的计算、递归算法设计方法和相关示例、递归算法到非递归算法的转化。 第3章 穷举法,介绍穷举法的特点、穷举法的基本应用示例和递归在穷举法中的应用示例。 第4章 分治法,介绍分治法的策略和求解过程,讨论采用分治法求解排序问题、查找问题、最大连续子序列和问题、大整数乘法问题和矩阵乘法问题的典型算法,并简要介绍了并行计算的概念。 第5章 贪心法,介绍贪心法的策略、求解过程和贪心法求解问题应具有的性质,讨论采用贪心法求解区间问题、背包问题、多机调度问题、哈夫曼编码和磁盘排序问题的典型算法。 第6章 动态规划,介绍动态规划的原理和求解步骤,讨论采用动态规划法求解整数拆分问题、最长公共子序列问题、0/1背包问题、最大连续子序...
1.1算法的概念
1.1.1什么是算法
1.1.2算法描述
1.1.3算法和数据结构
1.1.4算法设计的基本步骤
1.2算法分析
1.2.1算法时间复杂度分析
1.2.2算法空间复杂度分析
1.3计算复杂性理论简介
1.3.1图灵机模型
1.3.2P类和NP类问题
1.3.3NPC问题
上机实验题1——统计求最大、最小元素的平均比较次数
练习题1
第2章递归算法设计技术
2.1什么是递归
2.1.1递归的定义
2.1.2何时使用递归
2.1.3递归模型
2.1.4递归算法的执行过程
2.2递推式的计算
2.2.1用特征方程求解递归方程
2.2.2用递归树方法求解递归方程
2.3递归算法设计
2.3.1递归与数学归纳法
2.3.2递归算法设计的一般步骤
2.3.3基于递归数据结构的递归算法设计
2.3.4基于归纳思想的递归算法设计
2.4递归算法设计示例
2.4.1简单选择排序和冒泡排序
2.4.2求解n皇后问题
2.4.3求解简单装载问题
2.5递归算法转化为非递归算法
2.5.1用循环结构替代递归过程
2.5.2用栈消除递归过程
上机实验题2——删除二叉树的子树
练习题2
第3章穷举法
3.1穷举法概述
3.2穷举法的基本应用
3.2.1直接采用穷举法的一般格式
3.2.2简单选择排序和冒泡排序
3....