


作者:(美)Anany Levitin著 潘彦 译
定价:69元
印次:3-23
ISBN:9787302386346
出版日期:2015.02.01
印刷日期:2024.07.26
图书责编:文开琪
图书分类:零售
作者基于丰富的教学经验,开发了一套全新的算法分类方法。该分类法站在通用问题求解策略的高度,对现有大多数算法准确分类,从而引领读者沿着一条清晰、一致、连贯的思路来探索算法设计与分析这一迷人领域。本书作为第3版,相对前版调整了多个章节的内容和顺序,同时增加了一些算法,并扩展了算法的应用,使得具体算法和通用算法设计技术的对应更加清晰有序;各章累计增加了70道习题,其中包括一些有趣的谜题和面试问题。 本书十分适合用作算法设计和分析的基础教材,也适合任何有兴趣探究算法奥秘的读者使用,只要读者具备数据结构和离散数学的知识即可。
Anany Levitin教授,维拉诺瓦大学 毕业于莫斯科国立大学并获得数学硕士学位。他拥有耶路撒冷希伯来大学数学博士学位和美国肯塔基大学计算机科学硕士学位。他的著作《算法设计与分析基础》已经被翻译为中文、俄文、希腊文和韩文,并被全球数百所高校广泛用作教材。目前,Levitin博士在美国维拉诺瓦大学讲授“算法设计与分析”课程。他的另一本著作《算法谜题》已经于2011年秋出版。 他的论文“算法设计技术新途径:弥补传统分类法的缺憾”(A New Road Mpa of Algorithm Design Techniques: Picking Up Where the Traditional Classfication Leaves Off)深受业内好评,并享有广泛的声誉。他提出的这种新分类方法涵盖众多经典算法,解决了传统分类无法以一致方式介绍这些算法的难题。作为通用的问题解决工具,算法设计技术的应用很广,尤其适用于解决“狼,羊,白菜”问题和旅行商问题之类的流行谜题。 因为他对算法教育所做出的杰出贡献,Levitin教授曾多次受邀在SIGCSE(Computer Science Education,计算机教育) 全球大会上发表演讲,此大会每三年才举行一次。 Anany Levitin教授目前的研究课题为“Do We Teach the Right Algorithm Design Techniques ?”
前 言 一个人在接受科技教育时能得到的最珍贵的收获是能够终身受用的通用智能工具。 ——乔治?福赛思 无论是计算科学还是计算实践,算法都在其中扮演着重要角色。因此,这门学科中出现了大量的教材。它们在介绍算法的时候,基本上都选择了以下两种方案中的一种。第一种方案是按照问题的类型对算法进行分类。这类教材安排了不同的章节分别讨论排序、查找、图等算法。这种做法的优点是,对于解决同一问题的不同算法,它能够立即比较这些算法的效率。其缺点在于,由于过于强调问题的类型,它忽略了对算法设计技术的讨论。 第二种方案围绕着算法设计技术来组织章节。在这种结构中,即使算法来自于不同的计算领域,如果它们采用了相同的设计技术,就会被编成一组。从各方(例如[BaY95])获得的信心使我相信,这种结构更适合于算法设计与分析的基础课程。强调算法设计技术有三个主要原因。第一,学生们在解决新问题时,可以运用这些技术设计出新的算法。从实用的角度看,这使得学习算法设计技术颇有价值。第二,学生们会试图按照算法的内在设计方法对已知的众多算法进行分类。计算机科学教育的一个主要目的,就是让学生们知道如何发掘不同应用领域的算法间的共性。毕竟,每门学科都会倾向于把它的重要主题归纳为几个甚至一个规则。第三,依我看来,算法设计技术作为问题求解的一般性策略,在解决计算机领域以外的问题时,也能发挥相当大的作用。 遗憾的是,无论是从理论还是从教学的角度,传统的算法设计技术分类法都存在一些严重的缺陷。其中最显著的缺陷就是无法对许多重要的算法进行分类。由于这种局限性,这些书的作者不得不在按照设计技术进行分类的同时,另外增加一些章节来讨...
第1章 绪论 1
1.1 什么是算法 2
习题1.1 6
1.2 算法问题求解基础 7
1.2.1 理解问题 8
1.2.2 了解计算设备的性能 8
1.2.3 在精确解法和近似解法之间做出选择 9
1.2.4 算法的设计技术 9
1.2.5 确定适当的数据结构 9
1.2.6 算法的描述 10
1.2.7 算法的正确性证明 10
1.2.8 算法的分析 11
1.2.9 为算法写代码 12
习题1.2 13
1.3 重要的问题类型 14
1.3.1 排序 15
1.3.2 查找 16
1.3.3 字符串处理 16
1.3.4 图问题 16
1.3.5 组合问题 17
1.3.6 几何问题 17
1.3.7 数值问题 18
习题1.3 18
1.4 基本数据结构 20
1.4.1 线性数据结构 20
1.4.2 图 22
1.4.3 树 25
1.4.4 集合与字典 28
习题1.4 29
小结 30
第2章 算法效率分析基础 32
2.1 分析框架 33
2.1.1 输入规模的度量 33
2.1.2 运行时间的度量单位 34
2.1.3 增长次数 35
2.1.4 算法的最优、最差和平均效率 36
2.1.5 分析框架概要 38
习题2.1 39
2.2 渐近符号和基本效率类型 40
2.2.1 非正式的介绍 40
2.2.2 符号... 查看详情
l 畅销十余年的国外经典教材,影响全球数十万读者
l 条理清晰,逻辑严密,透过经典算法来揭示算法精髓
l 全面覆盖十大最通用的算法设计技术,ACM竞赛培训指导
l 600多道习题,有难有易又有趣,涉及ACM竞赛题、算法谜题和面试题
记得清华大学吴文虎教授曾经说过,算法是思维的艺术,是数学之美的完美体现,是计算机和信息科学的灵魂,更是优秀程序员的安身立命之本。本书将算法视为解决问题的工具,通过作者独创的、具有里程碑意义的新型分类法弥补了传统算法设计技术分类法的缺陷,用深入浅出的语言和新颖的实例与谜题,诠释了何为算法、算法的分类、算法幕后的思想、算法的效率,抽丝剥茧、条分缕析地探索了算法设计与分析过程。
本书用全新的方式通过谜题和游戏来开拓算法思维,既适合本科生和研究生教学,又适合程序员参考,是帮助他们享受算法的乐趣,领悟思维训练之美,提升编程能力的理想读物。
(1)从科学性和专业性来讲,作者将原来不受重视的一些算法设计策略(如蛮力法、减治法、变治法、时空权衡和迭代改进)等纳入其中,覆盖了更多传统方法无法分类的经典算法(如欧几里得算法、堆排序、查找树、散列法、拓扑排序、高斯消去法、霍钠法则等),甚至还纳入了一些重要算法设计方法的变种。
(2)从系统性来讲,有趣的是,本书采用的正是算法的经典模式,首先说明什么是算法,然后经过思维训练和实践,解决如何分析与设计算法。这一点而言,对学生的真正意义在于,学会用思维能力和创新能力来解决问题,为日后的职业生涯打下坚实的基础。
(3)从实用性来讲,本书跳出了传统教材的框架,用一种新颖的方式来呈现主题,既照顾了本科学生课堂教学的需求,也兼顾了让他们课后拓展学习,进一步探索算法奥秘的愿望,具有广泛的普适性。
(4)从创新性来讲,本书的分类框架条理清晰,符合计算机教育的原理,非常适合算法教学,大量的流行谜题和游戏,让人流连忘返,手不释卷。
经过近10年的教学实践和沉淀,本书被证明是具有较高教学价值的经典教材。据不完全统计,选用本书的学校包括清华大学、复旦大学、中国矿业大学、上海交通大学、解放军理工大学、广西大学、华南理工大学、安徽工业大学、广东工业大学、西安建筑科技大学,广东理工大学,齐齐哈尔大学、南昌航空工业学院软件学院、解放军炮兵学院、绵阳师范学院、湘潭大学、徐州工程学院、广东工业大学、广东工业大学、沈阳工业大学、西南科技大学、上海工程技术大学、湖南商学院、炮兵学院基础部、江西财经大学、华北科技学院、中南民族大学、沈阳建筑大学、北京第二外国语学院教育技术中心、潍坊学院、西华大学、武汉理工大学、河南师范大学、无锡科技职业学院、安徽理工大学、浙江工商大学、肇庆学院等等159所院校连续多年采用。据调查,至少有广东工业大学、深圳大学和中北大学多年以来一直选用本书作为ACM大赛训练用书。
查看详情



