 
			 
				
教学主线清晰,拓扑结构合理。将算法设计技术分为基本的算法设计技术、基于搜索的算法设计技术、求解NP问题的算法设计技术三个模块。
将经典问题与算法设计技术相结合。以经典问题为载体,系统地介绍了算法设计技术及其在经典问题中的应用。
以问题求解为主线,引导思维过程。按照“问题à想法à算法à程序”的模式介绍经典问题的求解过程,并用图示阐明算法的设计过程。
正确处理算法和程序之间的关系。所有问题都用伪代码和C++描述两种形式给出了算法描述,所有程序均在VC++6.0环境下调试通过。
发挥教材的窗口作用,引入智能算法。以通俗易懂的笔触介绍了人工神经网络、遗传算法、蚁群算法、粒子群算法和模拟淬火等智能优化算法。
《普通高校本科计算机专业特色教材精选·算法与程序设计:算法设计与分析(第2版)》将经典问题和算法设计技术很好地结合起来,系统地介绍了算法设计技术及其在经典问题中的应用。全书共分四部分:第一部分是基础知识,包括算法设计基础和算法分析基础;第二部分是基本的算法设计技术,包括蛮力法、分治法、减治法、动态规划法和贪心法;第三部分是基于搜索的算法设计技术,包括回溯法和分支限界法;第四部分是计算的限制,介绍了问题的复杂性、近似算法和概率算法。所有问题都用伪代码给出了算法描述,大多数问题都给出了C++语言的算法实现,并且所有程序均在VC#6.0环境下调试通过。每章均附有一篇阅读材料,以通俗易懂的方式介绍了算法领域的一些新研究成果。
《普通高校本科计算机专业特色教材精选·算法与程序设计:算法设计与分析(第2版)》内容丰富,深入浅、出,结合应用,图例丰富,可作为高等院校计算机专业本科和研究生学习算法设计与分析的教材,也可供工程技术人员和自学者学习参考。
第一部分 基础知识
第1章 算法设计基础 
1.1 算法的基本概念
1.1.1 算法及其重要特性 
1.1.2 算法的描述方法 
1.1.3 算法设计的一般过程 
1.2 为什么要学习和研究算法
1.2.1 算法在问题求解中的地位 
1.2.2 算法训练能够提高计算思维能力
1.2.3 算法研究是推动计算机技术发展的关键
1.3 重要的问题类型 
1.3.1 查找问题
1.3.2 排序问题
1.3.3 图问题
1.3.4 组合问题
1.3.5 几何问题
阅读材料——算法研究与图灵奖
习题1
第2章 算法分析基础
2.1 算法的时间复杂性分析 
2.1.1 输入规模与基本语句
2.1.2 算法的渐进分析
2.1.3 最好、最坏和平均情况 
2.1.4 非递归算法的时间复杂性分析
2.1.5 递归算法的时间复杂性分析
2.2 算法的空间复杂性分析
2.3 最优算法
2. 3.1 问题的计算复杂性下界
2.3.2 平凡下界
2.3.3 判定树模型
阅读材料——算法的实验分析
习题2
第二部分 基本的算法设计技术
第3章 蛮力法
3.1 概述
3.1.1 蛮力法的设计思想
3.1.2一个简单的例子百元买百鸡问题
3.2 查找问题中的蛮力法
3.2.1 顺序查找
3.2.2 串匹配问题
3.3 排序问题中的蛮力法
3. 3.1 选择排序
3.3.2 起泡排序
3.4 组合问题中的蛮力法
3.4.1 0/1背包问题
3.4.2 任务分配问题
3.5 图问题中的蛮力法
3.5.1 哈密顿回路问题
3.5.2 TSP问题
3.6 几何问题中的蛮力法
3.6.1 最近对问题
3.6.2 凸包问题
阅读材料——KMP算法中next值的计算
习题3
第4章 分治法
4.1 概述
4.1.1 分治法的设计思想
4.1.2一个简单的例子数字旋转方阵
4.2 排序问题中的分治法
4.2.1 归并排序
4.2.2 快速排序
……
第三部分 基于搜索的算法设计技术
第四部分 计算的限制
附录A 名词索引
参考文献
第2版前言在ACM/IEEE-CS提交的CC2005中,将计算机专业的基本学科能力归纳为计算思维能力、算法设计与分析能力、程序设计与实现能力和系统能力。“算法设计与分析”课程不仅能够培养学生的算法设计与分析能力,进一步增强程序设计与实现能力,而且能够引导学生的思维过程,培养计算思维能力。用计算机求解问题的最重要环节就是将人的想法抽象为算法,在描述问题和求解问题的过程中,主要采用抽象思维和逻辑思维。因此,算法训练就像一种思维体操,能够锻炼思维,使思维变得更清晰、更有逻辑。
本书在保持第1版基本体例不变的基础上,进行了如下修改。
(1) 将算法设计技术重新进行分类,本书共分为四部分:基础知识、基本的算法设计技术、基于搜索的算法设计技术和计算的限制,知识单元的拓扑结构如图1所示。
图1 知识单元的拓扑结构
(2) 按照“问题→想法→算法→程序”的模式介绍经典问题的设计与实现过程,所有问题都用伪代码给出了算法描述,大多数问题都给出了C++语言的算法实现,并且所有程序均在VC++6.0环境下调试通过。读者可向作者或出版社索要程序源码。
(3) 重写了阅读材料,以通俗易懂的笔触介绍了人工神经网络、遗传算法、蚁群算法、粒子群算法和模拟淬火等智能优化算法,每种算法均给出一个简单的应用举例。
本书由王红梅和胡明共同执笔,王涛老师收集和整理了阅读材料,胡洁同学参与了代码调试与校对工作,参加本书编写的还有王晶春、党源源、许建潮、逄焕利、姚庆安、肖巍等老师。
由于作者的知识和写作水平有限,书稿虽几经修改,仍难免有缺点和错误。热忱欢迎同行专家和读者批评和指正,使本书在使用中不断改进、日臻完善。
作 者2012年8月
算法设计与分析(第2版)
第1版前言算法设计与分析是计算机科学技术中处于核心地位的一门专业基础课,越来越受到重视,CC2001和CCC2002都将“算法和复杂性”列为主领域,将算法设计策略、基本可计算性理论、P和NP问题类等算法设计技术和复杂性分析方法列为核心知识单元。
无论是计算科学还是计算实践,算法都在其中扮演着重要角色,算法被公认为是计算机科学的基石。翻开重要的计算机学术刊物,算法都占有一席之地,没有算法,计算机程序将不复存在。对于计算机专业的学生,学会读懂算法、设计算法,应该是一项最基本的要求,而发明算法则是计算机学者的最高境界。
提高学生的问题求解能力是高等教育的一个主要目标,在计算机科学的课程体系中,安排一门关于算法设计与分析的课程是非常必要的,因为这门课程能够引导学生的思维过程,告诉学生如何应用一些特定的算法设计策略来解决问题。学习算法还能够提高学生分析问题的能力。算法可以看作是解决问题的一类特殊方法--它不是问题的答案,而是经过精确定义的、用来获得答案的求解过程。因此,无论是否涉及计算机,特定的算法设计技术都可以看作是问题求解的有效策略。
本书将计算机经典问题和算法设计技术很好地结合起来,系统地介绍了算法设计技术及其在经典问题中的应用。通过同一算法设计技术在不同问题中的应用进行比较,牢固掌握算法设计技术的基本策略;通过不同的算法设计技术在同一问题中的应用进行比较,更容易体会到算法设计技术的思想方法,收到融会贯通的效果。所以,本书采用了模块化的设计思想,读者除了按本书组织的章节学习外,还可以将每种算法设计技术的问题提取出来,比较解决相同问题的不同解决方法。随着本书内容的不断展开,读者也将感受到综合应用多种算法设计技术有时可以更有效地解决问题。
全书共12章,第1章介绍了算法的基本概念和算法分析方法,第2章从算法的观点非形式化地介绍了NP完全理论,第3章~第11章分别介绍了蛮力法、分治法、减治法、动态规划法、贪心法、回溯法、分支限界法、概率算法和近似算法等算法设计技术,第12章基于图灵机计算模型介绍了计算复杂性理论。
书中所有问题均给出了若干应用实例,每章还设有一个实验项目,通过设计提高学生创造性思维的培养。每章均附有一篇阅读材料,以通俗易懂的笔触介绍了算法领域的一些最新研究成果,保证知识的先进性。书中所有算法均给出了伪代码,大部分算法还给出了C++描述。在算法介绍上,注重对问题求解过程的理解,注重算法设计思路和分析过程的讲解,体现了“授之以渔”的教学理念。
王涛老师收集和整理了本书的阅读材料,参加本书编写的还有胡明、许建潮、孙卫佳、逄焕利、刘钢、陈志雨等老师,研究生张倩、魏卓调试了本书的全部算法。
由于作者的知识和写作水平有限,书稿虽几经修改,仍难免有缺点和错误。热忱欢迎同行专家和读者批评指正,使本书在使用中不断改进、日臻完善。
作 者2006年2月
作为一名计算机专业的教师,我一直在寻找一本能够真正帮助学生理解算法精髓的教材。这本书的内容选择和编排方式,给我留下了深刻的印象。它在“算法设计与分析”这个核心主题下,涵盖了从基础的查找、排序,到更复杂的图算法、动态规划,再到 NP-hard 问题的一些初步探讨,脉络清晰,重点突出。书中对每一种算法都进行了严谨的数学分析,包括时间复杂度和空间复杂度,并提供了多种实现方式和优化思路,这对于培养学生严谨的学术态度和解决实际问题的能力非常有帮助。我尤其赞赏书中对“摊还分析”和“概率分析”等高级分析方法的介绍,虽然是面向本科教材,但能触及这些前沿的分析技术,无疑能拓宽学生的视野。此外,每章后的习题设计得既有理论深度,又不乏工程实践的指导意义,能够很好地检验学生的学习成果。
评分我是一名即将毕业的本科生,在找工作前希望能巩固一下算法基础,这本书正好满足了我的需求。它在“算法设计与分析”这个主题下,对各种算法的原理、复杂度分析以及优化方法都做了非常深入的探讨。例如,在讲图算法时,不仅仅是介绍了DFS和BFS,还详细讲解了Dijkstra算法、Floyd-Warshall算法等,并且对它们的时间复杂度和适用场景进行了详尽的分析。我印象最深的是关于“贪心算法”的章节,作者用了一个非常有启发性的例子——“活动选择问题”,通过逐步分析,让我们理解贪心策略的适用条件和局限性,这比死记硬背公式要有效得多。书中还提供了许多用于分析算法效率的工具和技巧,比如主定理、递归树法等,这些对于理解算法的性能至关重要。总的来说,这本书的理论性很强,对于想要深入理解算法的同学来说,绝对是一本不可多得的好书。
评分这本书的排版和设计确实很有特色,给我的阅读体验增添了不少色彩。每个章节的开头都会有“本章目标”和“引言”,清晰地指明了学习方向,避免了迷失方向。而章节末尾的“习题与思考”更是点睛之笔,题目类型多样,从基础概念的巩固到复杂问题的分析,都涵盖其中,并且难度梯度设计得很合理,既有挑战性,又能激发我的思考。我尝试做了几个题目,感觉对知识点的掌握又上了一个台阶。更值得一提的是,书中对一些经典算法的实现,采用了多种语言(虽然我只关注了Java部分),这对于跨语言学习者来说是一个很大的优势,可以对比不同语言的实现方式,加深对算法本身理解。此外,书中穿插的“算法故事”和“历史渊源”也很有趣,让我对算法的发展脉络有了更深的认识,不再觉得算法只是冰冷的逻辑,而是人类智慧的结晶。
评分我是一个对算法充满好奇的学生,总想着能弄明白“为什么”这些算法能这么工作。这本书在这方面做得相当不错。它不仅仅是给出算法的步骤,而是会追溯到算法的设计思想,比如在讲“分治法”时,会先从“分解问题”、“解决子问题”、“合并解”这三个核心步骤入手,然后再用快速排序、归并排序等具体例子来印证。我特别欣赏的是,书中对“回溯法”和“分支限界法”的区分讲解,两者都涉及搜索,但侧重点不同,这本书用清晰的逻辑和实例,让我一下子就明白了它们的本质区别,避免了混淆。而且,书中的图解也非常精炼,将一些复杂的算法过程可视化,这对于我这种视觉型学习者来说,简直是救星。虽然有的地方的数学推导有点烧脑,但配合着前面的概念讲解,最终还是能理解的。
评分刚拿到这本书,就被它“精选”二字吸引了,感觉像是在众多算法书中寻觅到了瑰宝。翻开序言,作者提到编写这本书的初衷是为了提升本科计算机专业学生的算法思维和工程实践能力,这一点让我非常赞同。毕竟,算法是计算机科学的灵魂,没有扎实的算法基础,很多高深的领域都难以涉足。书中通过大量的案例,将抽象的算法概念变得生动形象,比如在讲排序算法时,不仅列出了代码,还配有图示,甚至还模拟了排序过程,这对于初学者来说简直是福音。我特别喜欢其中关于“动态规划”的章节,作者循序渐进地引导我们理解状态转移方程的含义,而不是简单地给出公式。虽然我还没有深入研读完,但就目前的阅读体验而言,这本书的讲解方式非常符合本科生的认知规律,既有理论深度,又不失趣味性,让人读起来不会感到枯燥乏味。期待后续章节能带来更多惊喜。
评分不错不错,学校用书,好好学习一下
评分很好,开始学习中
评分挺好
评分速度快物品质量好
评分不错不错不错
评分《普通高校本科计算机专业特色教材精选·算法与程序设计:算法设计与分析(第2版)》将经典问题和算法设计技术很好地结合起来,系统地介绍了算法设计技术及其在经典问题中的应用。全书共分四部分:第一部分是基础知识,包括算法设计基础和算法分析基础;第二部分是基本的算法设计技术,包括蛮力法、分治法、减治法、动态规划法和贪心法;第三部分是基于搜索的算法设计技术,包括回溯法和分支限界法;第四部分是计算的限制,介绍了问题的复杂性、近似算法和概率算法。所有问题都用伪代码给出了算法描述,大多数问题都给出了C++语言的算法实现,并且所有程序均在VC#6.0环境下调试通过。每章均附有一篇阅读材料,以通俗易懂的方式介绍了算法领域的一些ZUI新研究成果。
评分速度快物品质量好
评分学校用的课本,差强人意
评分学校用的课本,差强人意
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有