算法设计

作者:Jon Kleinberg著、张立昂等译

丛书名:世界著名计算机教材精选

定价:75元

印次:1-6

ISBN:9787302143352

出版日期:2007.03.01

印刷日期:2014.01.09

图书责编:龙启铭

图书分类:教材

电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

这本《算法设计》教材具有以下突出的优点: 1. 以各种算法设计技术(如贪心法、分治策略、动态规划、网络流、近似算法、随机算法等)为主线来组织素材,深入分析了各种设计技术的适用条件和局限性,突出了算法设计的思想和分析的基本原则,为从事实际问题的算法设计与分析工作提供了清晰的、整体的思路和方法. 2. 本教材内容非常丰富,不但深入系统地阐述了算法设计与分析的理论,而且给出了大量的典型范例和参考文献.这些范例有的有重要的应用背景,有的与计算机科学技术的新发展密切相关.每个问题的叙述完全按照人们解决实际问题的思路进行:首先提出问题,然后考虑如何抽象出合理的数学模型,接着探讨有效的算法设计技术,给出算法的形式描述,并对算法的正确性和效率进行论证和分析,最后将有关的结果加以拓广.这不但介绍了算法设计与分析的系统方法,对如何设计正确的高效的算法有着重要指导意义,而且对如何面对实际问题从事科学研究也有着很好的启迪作用. 3. 如何确定问题的计算难度,如何处理难解的问题是计算机科学工作者经常面临的问题.本教材用相当大的篇幅(第8~12章)比较系统全面地介绍NP完全性(以及PSPACE完全性)和处理NP难问题的方法.这些材料过去多以专著形式出现,在算法教材中通常只有蜻蜓点水式的少量介绍.本教材打破了这种惯例,按照“本科生可以接受的”设计目标把这些材料纳入本科生算法教材,这是极其有益的尝试,希望能促进国内算法教学水平的提升. 4. 这本教材以算法为主线来处理算法与数据结构的关系.它先对所涉及的数据结构做了简要介绍,然后结合算法设计技术对如何选择数据结构进行了深入的分析.这种安排突出了算法设计的中心思想,避免了与数据结构课程在内容上的重复,更加适合于国内的教学计划. 5. 本教材的叙述风格和选材非常适合教学.首先,内容由浅入深,由具体到抽象,从算法设计技术与分析方法自然过渡到计算复杂性理论.教师可以根据不同的教学要求选择适当的模块进行组合.其次,算法描述采用伪码,避免了繁琐的程序设计语言等实现细节,使学生能够站在更高的抽象层次上,加深对问题本身和算法设计思想的理解.第三,对与算法有关的数学基础做了适当的铺垫和介绍,有利于学生自学.第四,选配了大量难度适当的练习,并给出求解范例. 本书适合作为计算机科学与技术专业本科高年级学生或研究生的算法设计与分析课程教材.对于在不同领域使用计算机求解实际问题的科学技术人员,它也是一本有益的参考书. 本书包含13章,前7章主要涉及算法的设计与分析技术,后6章涉及计算复杂性以及相关的难解问题的算法设计技术.前7章由屈婉玲完成,后6章及后记由张立昂完成.在翻译过程中,我们按照中文书籍的编辑习惯对原著做了一点技术处理.比如加小节编号;把定理(原著中加灰底色的部分)与命题、事实、推论等不同的成分加以区分,并按章统一编号;按照中文汉语拼音字母顺序重新改写了关键词索引.由于时间与水平所限,译文中难免存在某些问题,恳请读者批评指正.

前言 PREFACE 算法的思想非常广泛,遍及计算机科学的内外.在因特网路由选择标准中的某些较大变化可以看做对一种最短路径算法的不足与另一种最短路径算法的相对优点争论的结果.生物学家用来表示基因和基因组之间相似性的基本概念是用算法定义的.经济学家表达的对组合拍卖在实践中可行性的关注,部分地源于这些拍卖实际上包含难计算的搜索问题作为特殊情况.而且算法概念不仅局限于已知的和长期存在的问题,人们在广泛领域内提出的新颖问题中经常看到这些思想的影响.雅虎的一位科学家在一次午餐上告诉我们,他们的用户广告服务系统一旦深入下去能够被描述成一组以网络流为模型的问题.我们在去纽约的旅途中偶然遇到一位以前的学生,现在正在做大型医院人事协议工作的管理顾问,也对我们说过类似的事情. 问题的关键不只是算法有很多的应用.更深刻的看法认为一般地算法作为一门学科是深入观察计算机科学领域的有力手段.算法问题构成计算机科学的核心,但它们出现时很少被清楚地表示成精确的数学问题.相反地,它们出现时常常把大量零乱的特殊应用细节、某些本质的东西和某些无关紧要的东西混杂在一起.结果是算法研究包括两个基本的部分: 获取问题纯粹的数学核心和根据问题的结构确定合适的算法设计技术.这两部分相互作用: 你愈能自如地使用丰富的算法设计技术,你愈开始能够认出隐藏在计算机科学之外的零乱问题中的纯粹形式描述.那么,如果充分发挥其作用,算法思想不仅为表述清楚的问题提供解答,而且是你纯粹地表达基本问题的语言. 这本书的目标是传达这种研究算法的方法,这是一个设计过程,它从在广泛的计算应用中提出的问题开始、建立在对算法设计技术理解的基础之上...

暂无课件

样章下载

暂无网络资源

扫描二维码
下载APP了解更多

目录
荐语
查看详情 查看详情
目录 CONTEHTS

第1章引言: 某些典型的问题1

1.1第一个问题:稳定匹配1

1.2五个典型问题9

带解答的练习14

练习16

注释和进一步的阅读20

第2章算法分析基础21

2.1计算可解性21

2.2增长的渐近阶25

2.3用表和数组实现稳定匹配算法31

2.4一般运行时间的概述34

2.5更复杂的数据结构:优先队列41

带解答的练习48

练习49

注释和进一步的阅读51

第3章图53

3.1基本定义与应用53

3.2图的连通性与图的遍历56

3.3用优先队列与栈实现图的遍历62

3.4二分性测试:宽度优先搜索的一个

应用68

3.5有向图中的连通性70

3.6有向无圈图与拓扑排序72

带解答的练习76

练习78

注释和进一步的阅读81

第4章贪心算法82

4.1区间调度: 贪心算法领先83

4.2最小延迟调度: 一个交换论证89

4.3最优高速缓存: 一个更复杂的交换

论证94

4.4一个图的最短路径98

4.5最小生成树问题101

4.6实现Kruskal算法: UnionFind数据

结构108

4.7聚类113

4.8Huffman码与数据压缩115

*4.9最小费用有向树:一个多阶段贪心

算法126

带解答的练习131

练习134

注释和进一步的阅读145

第5章分治策略147

5.1第一个递推式:归并排序算法147

5.2更多的递推关系151

5.3计数逆序155

5.4找最接邻近的点对158

5.5整数乘法163

5.6卷积与快速傅里叶变换165

带解...