





定价:48元
印次:2-21
ISBN:9787302307525
出版日期:2013.03.01
印刷日期:2022.01.10
图书责编:袁勤勇
图书分类:教材
本书将经典问题和算法设计技术很好地结合起来,系统地介绍了算法设计技术及其在经典问题中的应用。全书共分四部分:第一部分是基础知识,包括算法设计基础和算法分析基础;第二部分是基本的算法设计技术,包括蛮力法、分治法、减治法、动态规划法和贪心法;第三部分是基于搜索的算法设计技术,包括回溯法和分支限界法;第四部分是计算的限制,介绍了问题的复杂性、近似算法和概率算法。所有问题都用伪代码给出了算法描述,大多数问题都给出了C++语言的算法实现,并且所有程序均在VC++6.0环境下调试通过。每章均附有一篇阅读材料,以通俗易懂的方式介绍了算法领域的一些最新研究成果。 本书内容丰富,深入浅出,结合应用,图例丰富,可作为高等院校计算机专业本科和研究生学习算法设计与分析的教材,也可供工程技术人员和自学者学习参考。
第2版前言在ACM/IEEE-CS提交的CC2005中,将计算机专业的基本学科能力归纳为计算思维能力、算法设计与分析能力、程序设计与实现能力和系统能力。“算法设计与分析”课程不仅能够培养学生的算法设计与分析能力,进一步增强程序设计与实现能力,而且能够引导学生的思维过程,培养计算思维能力。用计算机求解问题的最重要环节就是将人的想法抽象为算法,在描述问题和求解问题的过程中,主要采用抽象思维和逻辑思维。因此,算法训练就像一种思维体操,能够锻炼思维,使思维变得更清晰、更有逻辑。 本书在保持第1版基本体例不变的基础上,进行了如下修改。 (1) 将算法设计技术重新进行分类,本书共分为四部分:基础知识、基本的算法设计技术、基于搜索的算法设计技术和计算的限制,知识单元的拓扑结构如图1所示。 图1 知识单元的拓扑结构 (2) 按照“问题→想法→算法→程序”的模式介绍经典问题的设计与实现过程,所有问题都用伪代码给出了算法描述,大多数问题都给出了C++语言的算法实现,并且所有程序均在VC++6.0环境下调试通过。读者可向作者或出版社索要程序源码。 (3) 重写了阅读材料,以通俗易懂的笔触介绍了人工神经网络、遗传算法、蚁群算法、粒子群算法和模拟淬火等智能优化算法,每种算法均给出一个简单的应用举例。 本书由王红梅和胡明共同执笔,王涛老师收集和整理了阅读材料,胡洁同学参与了代码调试与校对工作,参加本书编写的还有王晶春、党源源、许建潮、逄焕利、姚庆安、肖巍等老师。 由于作者的知识和写作水平有限,书稿虽几经修改,仍难免有缺点和错误。热忱欢迎同行专家和读者批评和指正,使本书在使用中不断改进、日臻完...
第1章 算法设计基础3
1.1 算法的基本概念3
1.1.1 算法及其重要特性3
1.1.2 算法的描述方法5
1.1.3 算法设计的一般过程6
1.2 为什么要学习和研究算法7
1.2.1 算法在问题求解中的地位8
1.2.2 算法训练能够提高计算思维能力10
1.2.3 算法研究是推动计算机技术发展的关键11
1.3 重要的问题类型12
1.3.1 查找问题12
1.3.2 排序问题12
1.3.3 图问题13
1.3.4 组合问题13
1.3.5 几何问题13
阅读材料--算法研究与图灵奖14
习题116第2章 算法分析基础17
2.1 算法的时间复杂性分析17
2.1.1 输入规模与基本语句18
2.1.2 算法的渐进分析19
2.1.3 最好、最坏和平均情况20
2.1.4 非递归算法的时间复杂性分析20
2.1.5 递归算法的时间复杂性分析22 2.2 算法的空间复杂性分析23
2.3 最优算法23
2.3.1 问题的计算复杂性下界24
2.3.2 平凡下界25
2.3.3 判定树模型25
阅读材料--算法的实验分析26
习题228
算法设计与分析(第2版)目录 第二部分 基本的算法设计技术
第3章 蛮力法33
3.1 概述33
3.1.1 蛮力法的设计思想33
3.1.2 一个简单的例子--百元买百鸡问题34
3.2 查找问题中的蛮力法36
3.2.1 顺序查找36
3.2.2 串匹配问题37
3.3 排序问题中的蛮力法42
3.3.1 选择排序42
3.... 查看详情