下载  >  课程资源  >  专业指导  > 算法设计与分析基础第三版中文版

算法设计与分析基础第三版中文版 评分

算法设计与分析基础第三版中文版;算法比较全,适合拿来准备面试;挺经典的;适合计算机相关专业学生阅读和学习
Introduction to The Design and Analysis of Algorithms Third Edition 算法设计与分析基础 (第召版) (美) Anany Levitin著 潘彦译 ⑤ 清华大学出版社 北京 内容简介 作者基于丰富的教学经验,开发了一套全新的算法分类方法。该分类法站在通用问题求解策略的高度 对现有大多数算法准确分类,从洏引领读者沿着一条清晰、一致、连贯的思路来探索算法设计与分析这 迷人领域。本书作为第3版,相对前版调整了多个章节的内容和顺序,同时增加了一些算法,并扩展了算 法的应用,使得具体算法和通用算法设计技术的对应更加清晰有序;各章累计增加了70道习题,其中包 括一些有趣的谜题和面试问题。 本书十分适合用作算法设计和分析的基础教材,也适合任何有兴趣探究算法奥秘的读者使用,只要读 者具备数据结构和离散数学的知识即可。 Simplified Chinese edition copyright o 2015 by PEARSON EDUCATION ASIA LIMITED and TSINGHUA UNIVERSITY PRESS. Original English language title: Introduction to the Design and Analysis of Algorithms, 3rd Edition by Anany Levitin, Copyright O 2012 E|SBN:9780132316811 All Rights Reserved Published by arrangement with the original publisher, Pearson Education, Inc, publishing as Pearson Education, Inc This edition is authorized for sale only in the People's Republic of China(excluding the Special Administrative Region of Hong Kong and Macao 本书中文简体翻译版由 Pearson Education授权给清华大学出版社在中国境内(不包括中国香港、澳门特 别行政区)出版发行。 北京市版权局著作权合同登记号图字:01-20142598 本书封面贴有 Pearsonη Education(培生教育出版集团)激光防伪标签,无标签者不得销售。 版权所有,侵权必究。侵权举报电话:010-6278298913701121933 图书在版编目(C|P数据 算法设计与分析基础(美)莱维汀( Levitin,A)著;潘彦译.-3版.一北京:清华大学出版社,2015 书名原文: Introduction to the Design and Analysis of algorithms ISBN978-7-302-38634-6 I.①算…Ⅱ.①莱…②潘·…Ⅲ.①算法设计②算法分析Ⅳ.TP30l.6 中国版本图书馆CIP数据核字(2014)第279849号 责任编辑:文开琪汤涌涛 封面设计:杨玉兰 责任校对:周剑云 责任印制:宋林 出版发行:清华大学出版社 FgtiE:http://www.tup.comcn,http://www.wgbook.com 地址:北京清华大学学研大厦A座 邮编:100084 社总机:01062770175 邮购:010-62786544 投稿与读者服务:010-62776969,c-"service@tup.tsinghua.edu.cn 质量反馈:01062772015,zhiliang@tup.Tsinghua.edu.cn 印刷者:三河市君旺印务有限公司 装订者:三河市新茂装订有限公司 经销:全国新华书店 开本:185mm×260mm 印张:27.5 字数:657千字 版次:204年6月第1版2015年2月第3版印次:2015年2月第1次印刷 印数:1~3500 定价:69.00元 产品编号:044086-01 译者序 十年前,本书第1版面世。 十年后,迎来了第3版 十年不长。作者 Anany Levitin仍然在维拉诺瓦大学从事算法基础教学,兢兢业业不断 更新和完善着这本算法经典教材。清华大学出版社的诸位仍然辛勤耕耘在教材出版的第 线,在行业并不十分景气的情况下,恪守职业尊严,努力为大家奉献一部部优秀的教材和 读物。正是由于这些作者、编者多年不变的持续付出,计算机教育事业才有了不断发展下 去的动力 十年也不短。十年前的读者想必已经从莘莘学子成为了企业骨干,很多已经成家立业 事业有成了吧?大家有没有在从事和算法有关的工作?算法学习给大家带来了什么有益的 改变?多想听听大家的心声。作为译者本人来说,翻译第1版时刚刚三十岁,而现在已过 不惑之年。当年接手本书的初衷仅仅是希望提供一本易懂的翻译教材,尽量减少读者阅读 的障碍。但实际上,从这本书受益最大的可能还是译者本人。首先,翻译本书的过程提高 了自身的综合能力。其次,有机会逐字逐句精读这样一本严谨的教材是一种很好的学术训 练,为本人后来的博士生涯增益不少。最后,本人目前从事算法交易,尽管很少用到现成 算法,但本书提供的算法专业训练还是使我获益良多。 茫茫历史长河中,一本书的好坏可能并不重要,但如果每个人都能专注做好自己的事 情,对人对己就会产生非常有益的影响。捧起本书的读者们,我衷心希望大家认真做事, 做正确的事。因为,下一个十年你不会后悔这样的付出。 我要感谢本书原著者,让我有机会和一本好书一起成长。我要感谢第1、第2版的读 者,他们通过互联网对本书做出了非常积极的评价,还有读者不吝指出书中的错误,和大 家交流非常开心。我要感谢出版社的领导,继续给予我信任,并容忍我并不算快的进度。 我还要感谢本书的编辑,她十年如一日,以一贯的严谨为本书提供了质量保证,尽管从未 谋面,我想我们已经是老朋友了。我最后要感谢爱人李靓的支持,她理解翻译工作的意义, 为我提供了很多实际的帮助 从作者本版的修订风格来看,第3版不会是最后一版,希望我有幸再次为广大读者执 起译笔。 祝大家学习顺利! 潘彦 philpan@hotmail.com 前言 个人在接受科技教育时能得到的最珍贵的收获是能够终身受用的通用智能工具。⑥ 乔治·福赛思 无论是计算科学还是计算实践,算法都在其中扮演着重要角色。因此,这门学科中出 现了大量的教材。它们在介绍算法的时候,基本上都选择了以下两种方案中的一种。第 种方案是按照问题的类型对算法进行分类。这类教材安排了不同的章节分别讨论排序、查 找、图等算法。这种做法的优点是,对于解决同一问题的不同算法,它能够立即比较这些 算法的效率。其缺点在于,由于过于强调问题的类型,它忽略了对算法设计技术的讨论。 第二种方案围绕着算法设计技术来组织章节。在这种结构中,即使算法来自于不同的 计算领域,如果它们釆用了相同的设计技术,就会被编成一组。从各方(例如[BaY95]获得 的信心使我相信,这种结构更适合于算法设计与分析的基础课程。强调算法设计技术有三 个主要原因。第一,学生们在解决新问题时,可以运用这些技术设计出新的算法。从实用 的角度看,这使得学习算法设计技术颇有价值。第二,学生们会试图按照算法的内在设计 方法对已知的众多算法进行分类。计算机科学教育的一个主要目的,就是让学生们知道如 何发掘不同应用领域的算法间的共性。毕竞,每门学科都会倾向于把它的重要主题归纳为 几个甚至一个规则。第三,依我看来,算法设计技术作为问题求解的一般性策略,在解决计 算机领域以外的问题时,也能发挥相当大的作用。 遗憾的是,无论是从理论还是从教学的角度,传统的算法设计技术分类法都存在一些 严重的缺陷。其中最显著的缺陷就是无法对许多重要的算法进行分类。由于这种局限性, 这些书的作者不得不在按照设计技术进行分类的同时,另外增加一些章节来讨论特殊的问 题类型。但这种改变导致课程缺乏一致性,而且很可能会使学生感到迷惑。 算法设计技术的新分类法 传统算法设计技术分类法的缺陷令我感到失望,它激发我开发一套新的分类法 ([Lev9]),这套分类法就是本书的基础。以下是这套新分类法的几个主要优势。 新分类法比传统分类法更容易理解。它包含的某些设计策略,例如蛮力法、减治 法、变治法、时空权衡和迭代改进,几乎从不曾被看作重要的设计范例。 ●新分类法很自然地覆盖了许多传统方法无法分类的经典算法(欧几里得算法、堆排 序、査找树、散列法、拓扑排序、高斯消去法、霍纳法则等,不胜枚举)。所以, 新分类法能够以一种连贯的、一致的方式表达这些经典算法的标准内容。 新分类法很自然地容纳了某些设计技术的重要变种(例如,它能涵盖减治法的3个 ①译注:出自 What to do till the computer scientist comes(1968)。乔治·福赛思( George Forsythe,1917-1972) 是一名数学家,他认为最重要的三大工具依次是自然语言、数学和计算机科学 算法设计与分析基础(第3版) 变种和变治法的3个变种) 在分析算法效率时,新分类法与分析方法结合得更好(参见附录B) 设计技术作为问题求解的一般性策略 在本书中,主要将设计技术应用于计算机科学中的经典问题(这里唯一的创新是引入了 一些数值算法的内容,我们也是用同样的通用框架来表述这些算法的)。但把这些设计技术 看作问题求解的一般性工具时,它们的应用就不仅限于传统的计算问题和数学问题了。有 两个因素令这一点变得尤其重要。第一,越来越多的计算类应用超越了它们的传统领域, 并且有足够的理由使人相信,这种趋势会愈演愈烈。第二,人们渐渐认识到,提高学生们 的问题求解能力是高等教育的一个主要目标。为了满足这个目标,在计算机科学课程体系 中安排一门算法设计和分析课程是非常合适的,因为它会告诉学生如何应用一些特定的策 略来解决问题 虽然我并不建议将算法设计和分析课程变成一门教授一般性问题求解方法的课程,但 我深信,我们不应错过算法设计和分析课程提供的这样一个独一无二的机会。为了这个目 标,本书包含了一些和谜题相关的应用。虽然利用谜题来教授算法课程绝不是我的创新 但本书打算通过引进一些全新的谜题来系统地实现这个思路。 如何使用本书 我的目标是写一本既不泛泛而谈,又可供学生们独立阅读的教材。为了实现这个目标, 本书做了如下努力。 ●根据乔治·福赛思的观点(参见前面的引文),我试图着重强调隐藏在算法设计和 分析背后的主要思想。在选择特定的算法来阐述这些思想的时候,我并不倾向于 涉及大量的算法,而是选择那些最能揭示其内在设计技术或分析方法的算法。幸 运的是,大多数经典算法满足这个要求。 ●第2章主要分析算法的效率,该章将分析非递归算法的方法和分析递归算法的典 型方法区别开来。这一章还花了一些篇幅介绍算法经验分析和算法可视化 书中系统地穿插着一些面向读者的提问。其中有些问题是经过精心设计的,而且 答案紧随其后,目的是引起读者的注意或引发疑问。其余问题的用意是防止读者 走马观花,不能充分理解本书的内容。 ●每一章结束时都会对本章最重要的概念和结论做一个总结。 本书包含600多道习题。有些习题是为了给大家练习,另外一些则是为了指出书 中正文部分所涉及内容的重要意义,或是为了介绍一些书中没有涉及的算法。有 些习题利用了因特网上的资源。较难的习题数量不多,会在教师用书中用一种 特殊的记号标注出来因为有些学生可能没有勇气做那些有难度标注的习题,所以 本书没有对习题标注难度)。谜题类的习题用一种特殊的图标做标注。 ●本书所有的习题都附有提示。除了编程练习,习题的详细解法都能够在教师资源中 找到。请发送邮件到coo(@netease.com,申请教师相关资源也可联系培生公司的当地销 前言 售代表,或者访问www.pearsonhighered.com/iro)。本书的任何读者都可以在CS支持 网站ht:/ssupport.pearsoncmg.com上找到PowerPoint格式的幻灯片文件。如果 对算法有兴趣,欢迎加入QQ群“算法学习交流”,群号:425283001 第3版的变化 第3版有若干变化。其中最重要的变化是介绍减治法和分治法的先后顺序。第3版会 先介绍减治法,后介绍分治法,这样做有以下几个优点。 较之分治法,减治法更简单。 在求解问题方面,减治法应用更 这样的编排顺序便于先介绍插入排序,后介绍合并排序和快速排序 数组划分的概念通过选择性问题引入,这次利用 Lomuto算法的单向扫描来实现, 而将 Hoare划分方法的双向扫描留至后文与快速排序一并介绍 ●折半查找归入介绍减常量算法的章节 另一个重要变化是重新编排第8章关于动态规划的内容,具体如下所述。 导述部分的内容是全新的。在前两版中用计算二项式系数的例子来引入动态规划 这一重要技术,但在第3版中会介绍3个基础性示例,这样介绍的效果更好。 81节的习题是全新的,包括一些在前两版中没有涉及的流行的应用。 ●第8章其他小节的顺序也做了调整,以便达到由浅入深、循序渐进的效果。 此外,还有其他一些变化。增加了不少与本书所述算法相关的应用。遍历图算法不再 随减治法介绍,而是纳入蛮力算法和穷举查找的范畴,我认为这样更合理。在介绍生成组 合对象的算法时,新增了格雷码算法。对求解最近对问题的分治法有更深入的探讨。改进 的内容包括算法可视化和求解旅行商问题的近似算法,当然参考文献也有相应的更新 第3版一共新增约70道习题,其中涉及算法谜题和面试问题。 先修课程 本书假定读者已经学习了离散数学的标准课程和一门基础性的编程课程。有了这样的 知识背景,读者应该能够掌握本书的内容而不会遇到太大的困难。尽管如此,1.4节、附录 A和附录B仍然对基本的数据结构以及必须用到的求和公式与递推关系分别进行复习和回 顾。只有3个小节(22节、11.4节和124节)会用到一些简单的微积分知识,如果读者缺少 必要的微积分知识,完全可以跳过这3个涉及微积分的小节,这并不妨碍对本书其余部分 的理解 课程进度安排 如果打算开设一门围绕算法设计技术来讲解算法设计和分析理论的基础课程,可以采 用本书作为教材。但要想在一个学期内完成该课程,本书涵盖的内容可能过于丰富了。大 体上来说,跳过第3~12章的部分内容不会影响读者对后面部分的理解。本书的任何一个 部分都可以安排学生自学。尤其是2.6节和27节,它们分别介绍了经验分析和算法可视化, 算法设计与分析基础(第3版) 这两小节的内容可以结合课后练习布置给学生。 下面给出了针对一个学期课程的教学计划,这是按照40课时的集中教学来设计的。 课次 主题 小节 课程简介 1.1~1.3 2,3 分析框架;常用符号O、θ和g 2.1,2.2 4 非递归算法的数学分析 2.3 递归算法的数学分析 24,25(+附录B) 蛮力算法 3.l,3.2(+3.3) 789 穷举查找 3.4 深度优先查找和广度优先查找 I0~1减一算法:插入排序、拓扑排序 4.1,4.2 折半查找和其他减常量算法 4.4 13 减变量算法 4.5 l4~15分治法:合并排序、快速排序 5.1~52 其他分治法示例 53、54或55 减变量算法 5.6 17~19实例化简:预排序、高斯消去法、平衡查找树 6.1~6.3 20 改变表现:堆和堆排序或者霍纳法则和二进制幂 64或65 21 问题化简 66 22~24时空权衡:串匹配、散列法、B树 72~74 25~27动态规划算法 8~84(选3节 28~-30贪婪算法εrim算法、Kπ usual算法、 Dijkstra算法、哈夫曼箅法_9.~9.4 3l~33迭代改进算法 10.1~10.4(选3节) 下界的参数 11.1 35 决策树 11.2 36 P、NP和NP完全问题 37 数值算法 11.4(+124) 38 回溯法 12.1 39 分支界限法 12.2 NP困难问题的近似算法 12.3 ①译注:“练习”的原文为 project,般应该翻译成“项目”,但国外一般将布置在课后完成的、 较大型的、要求实际演练的习题称为 project,国内没有相应的称呼,所以姑且译为“练习”。 前言 致谢 我要向本书的评审表达衷心的感谢,还要感谢本书前两版的许多读者,他们提供了许 多宝贵的意见和建议,帮助本书得以改进和完善。本书第3版尤其得益于下列人士的评审, 包括 Andrew Harrington(芝加哥洛约拉大学)、 David levine(圣文德大学)、 Stefano lombardi(加州大学河滨分校)、 Daniel mckee(宾州曼斯菲尔德大学)、 Susan brilliant(弗吉尼 亚州立联邦大学)、 David akers(菩及海湾大学)以及两名匿名评审。 我要感谢培生出版社所有为本书付出不懈努力的工作人员和相关人士。尤其要感谢本 书编辑 Matt Goldstein、编务助理 Chelsea bell、市场经理 Yez Alayan和产品总监 Kayla Smith- Tarbox。我还要感谢 Richard Camp为本书审稿, Windfall software的Paul Anagnostopoulos和 Jacqui scarlott为本书排版并提供项目管理支持,以及 MaryEllen Oliver 为本书进行校对。 最后,我要感谢两位家人。另一半整天都在写书比自己本人写书更让人崩溃,我的妻 子 Maria已容忍我多年并任劳任怨地帮助我,本书400多幅插图以及教师手册都是凭她 己之力完成的。女儿 Miriam是我多年的英语老师,她不但阅读了本书大量篇幅,还帮我为 每章找到了合适的名人名言 Anan Levitin anan. levitin@villanova. edu

...展开详情
所需积分/C币:40 上传时间:2017-10-20 资源大小:20.18MB
举报 举报 收藏 收藏 (1)
分享 分享
算法设计与分析基础_第三版_课后答案

算法设计与分析基础_第三版_课后答案 Introduction to the Design and Analysis of Algorithms 目前软件方面的研究工作主要是围绕各领域的算法设计与分析展开的,算法是计算机科学最重要的基础课之一!

立即下载
算法设计与分析基础(Anany Levitin著,潘彦译,第三版)课后答案

算法设计与分析基础(Anany Levitin著,潘彦译)第三版课后答案。

立即下载
算法设计与分析基础(第三版+中文版)(美) 莱维汀(Anany Levitin) 著

本资源是以压缩包形式上传的,里面是本书的PDF格式的电子书。 本书作者:(美) 莱维汀(Anany Levitin) 著;潘彦 译 内容简介: 作者基于丰富的教学经验,开发了一套全新的算法分类方法。该分类法站在通用问题求解策略的高度,对现有大多数算法准确分类,从而引领读者沿着一条清晰、一致、连贯的思路来探索算法设计与分析这一迷人领域。本书作为第3版,相对前版调整了多个章节的内容和顺序,同时增加了一些算法,并扩展了算法的应用,使得具体算法和通用算法设计技术的对应更加清晰有序;各章累计增加了70道习题,其中包括一些有趣的谜题和面试问题。 本书十分适合用作算法设计和分析的基础教材,也适合任何有

立即下载
算法设计与分析基础高清第三版

算法设计与分析基础高清第三版是在之前版本的基础上进一步提炼和编写的算法书籍,对于算法和数据结构的理解更为深入,相信对于算法的学习会有更多的帮助

立即下载
计算机算法设计与分析(第三版).pdf

计算机算法设计与分析(第三版) 、王晓东编著、电子工业出版社。

立即下载
算法设计与分析基础( Anany Levitin第3版)课后答案

目前互联网上的中文答案不是最新版的,题目不全,包括百度文库中的,这个虽然是英文的,但是比较齐全。

立即下载
算法设计与分析基础第3版高清完整.pdf版

(美)Anany Levitin著 潘彦译;清华大学出版社;本书在讲述算法设计技术时采用了新的分类方法,在讨论分析方法时条分缕析,形成了连贯有序,让人耳目一新的风格。

立即下载
算法设计与分析基础+答案

《算法设计与分析基础》第三版,Anany Levitin著,潘彦译+答案

立即下载
算法设计与分析基础.pdf(完整版)

算法设计与分析基础.pdf(完整版) 算法设计与分析基础.pdf(完整版)算法设计与分析基础.pdf(完整版)算法设计与分析基础.pdf(完整版)算法设计与分析基础.pdf(完整版)

立即下载
算法设计与分析课件(完整版)

此压缩包为北京大学曲婉玲老师算法设计与分析课程课件。

立即下载
算法与设计分析第三版电子书和习题答案.zip

算法设计与分析第三版的pdf电子书和习题答案,答案为英文版,不过无大碍

立即下载
算法设计与分析基础(第3版)Anany Levitin 答案

算法设计与分析基础(第3版)Anany Levitin答案 不是那种骗人的第二版 真正的第三版

立即下载