具体描述
本书用Python语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。全书共11章。分别介绍了树、图、计数问题、归纳递归、遍历、分解合并、贪心算法、复杂依赖、Dijkstra算法、匹配切割问题以及困难问题及其稀释等内容。本书在每一章结束的时候均有练习题和参考资料,这为读者的自我检查以及进一步学习提供了较多的便利。在全书的最后,给出了练习题的提示,方便读者进行查漏补缺。
作者简介
Magnus Lie Hetland是一位经验丰富的Python程序员,他自20世纪90年代以来就一直在使用该语言。同时,他还是挪威科技大学的副教授,有着数十年的算法教学经验,是《Beginning Python》1一书的作者。
目录信息
版权声明
内容提要
技术评审人简介
译者简介
译者序
致谢
前言
第1章 引言
1.1 这是一本怎么样的书
1.2 为什么要读这本书
1.3 一些准备工作
1.4 本书主要内容
1.5 本章小结
1.6 如果您感兴趣
1.7 练习题
1.8 参考资料
第2章 基础知识
2.1 计算领域中一些核心理念
2.2 渐近记法
2.3 图与树的实现
2.4 请提防黑盒子
2.5 本章小结
2.6 如果您感兴趣
2.7 练习题
2.8 参考资料
第3章 计数初步
第4章 归纳、递归及归简
第5章 遍历:算法学中的万能钥匙
第6章 分解、合并、解决
第7章 贪心有理吗?请证明
第8章 复杂依赖及其记忆体化
第9章 Dijkstra及其朋友们从A到B的旅程
第10章 匹配、切割及流量
第11章 困难问题及其(有限)稀释
附录A 猛踩油门!令Python加速
附录B 一些著名问题与算法
附录C 图论基础
附录D 习题提示
· · · · · · (收起)
读后感
有英文的pdf本来想买本中文的看的快点,最后发现很多一看中文就知道翻译有问题,或者中文反而难以理解的部分。让人失望 翻译者中有英文很差的,或者是机翻为主的,而且最后没人做一个最终的校正。 我的印象的就有好几处: bank有河岸的意思,然后他翻译成银行,对,是可以是银...
有英文的pdf本来想买本中文的看的快点,最后发现很多一看中文就知道翻译有问题,或者中文反而难以理解的部分。让人失望 翻译者中有英文很差的,或者是机翻为主的,而且最后没人做一个最终的校正。 我的印象的就有好几处: bank有河岸的意思,然后他翻译成银行,对,是可以是银...
这个翻译真的是龙鸣翻译,看的太难受了,看了50页看不下去了,看了50页看不下去了看了50页看不下去了看了50页看不下去了看了50页看不下去了看了50页看不下去了看了50页看不下去了看了50页看不下去了看了50页看不下去了看了50页看不下去了看了50页看不下去了看了50页看不下去了...
用户评价
我是一名计算机科学专业的学生,即将进入大三,算法课程是我的重点和难点。之前上课老师讲的很多内容,我总是感觉一知半解,尤其是那些经典的算法,比如动态规划、图算法之类的,脑子里还是比较模糊。听说这本书在讲解上非常注重循序渐进,并且有很多图示和代码示例,这对我这种需要大量可视化和实践来帮助理解的学生来说,简直是福音。我特别希望这本书能够把那些听起来高深莫测的算法,用一种通俗易懂的方式拆解开来,让我在理解基本原理的基础上,再深入到实现细节。如果它能提供一些练习题,并且附带详细的解答,那就更好了,这样我就可以边学边练,及时巩固。我还希望这本书能够帮助我建立起一种算法思维,不仅仅是记住算法的实现,更重要的是能够理解算法背后的逻辑,以及在面对新问题时,如何去构建自己的解决方案。
我是一个对计算机科学充满好奇的业余爱好者,虽然没有接受过系统的计算机专业训练,但一直对算法非常感兴趣,觉得它是让程序“聪明”起来的关键。我接触过一些零散的算法知识,但总是感觉不成体系,缺乏一个完整的学习路径。这本书如果能提供一个从入门到进阶的清晰脉络,让我能够一步步地深入了解算法的世界,那将是我一直在寻找的。我希望它能够从最基础的算法概念开始讲起,逐步引导我理解各种算法的原理和应用。我尤其看重它在“Python”这个语言上的实现,因为我目前主要使用的就是Python,能够直接学习用Python来实现各种算法,对我来说意义重大。我希望它能帮助我建立起对算法的整体认知,理解不同算法之间的联系和区别,并且能够培养我独立思考和解决算法问题的能力,而不是仅仅停留在模仿代码的阶段。
一本封面设计简洁大气,颜色搭配也很舒服的书,拿到手里沉甸甸的,一看就是内容丰富的那种。我之前也接触过一些算法相关的书籍,但总觉得要么太过于理论化,让人望而却步,要么就是讲解不够深入,看完之后似懂非懂。这本书虽然还没来得及细读,但从目录和一些章节的开头来看,它似乎真的抓住了很多初学者在学习算法过程中遇到的痛点。比如,它很可能不是上来就抛出一堆复杂的数学公式,而是会从更贴近实际应用的角度来引入算法的概念,让读者在理解“为什么”的基础上,再去探究“怎么做”。这一点对我来说非常重要,因为我学习算法的初衷是为了更好地解决实际编程问题,而不是为了应付考试。我尤其期待它在数据结构部分的内容,因为我知道良好的数据结构是高效算法的基础,如果这本书能把各种数据结构讲得清晰易懂,并且给出相应的Python实现示例,那将是极大的帮助。我希望它不仅仅是罗列各种算法,更重要的是能够引导读者思考,如何在不同的场景下选择最合适的算法,以及如何分析算法的时间复杂度和空间复杂度,这些才是真正能够提升编程能力的点。
我是一个在工作中经常会遇到性能瓶颈的开发者,一直想系统地提升自己的算法功底,但市面上很多算法书要么太厚重,要么讲解过于抽象,很难将理论与实践结合起来。看到这本书的介绍,尤其是它强调“Python”这个语言,让我觉得非常亲切。我平时的工作主要就是用Python,如果能直接用熟悉的语言来学习算法,那效率一定会事半功倍。我期待这本书能够提供大量的、贴合实际工作场景的算法应用案例,比如在数据分析、机器学习、网络爬虫等领域,如何运用各种算法来优化代码性能,解决实际问题。我不希望看到那些脱离实际的理论推导,而是更希望能够学到可以直接套用到项目中的技巧和方法。同时,我对书中关于算法优化和性能调优的部分也充满期待,这对于提升我的开发效率和解决复杂问题非常有帮助。如果书中还能涉及到一些常用的算法库和工具的使用,那就更完美了,可以直接帮助我快速上手。
我一直觉得算法是一门非常“硬核”的学科,对数学要求很高,常常因为那些复杂的公式而感到头疼。但同时,我又对算法的力量感到着迷,它能够让程序变得更高效、更智能。这本书如果能做到“化繁为简”,用一种更易于理解的方式来介绍算法,那将是莫大的福音。我希望它能够提供一些算法的“灵魂”介绍,而不是仅仅停留在“形”的层面。比如,在介绍排序算法时,不仅仅是给出各种排序的伪代码,更能深入地讲解每种排序算法的优缺点,以及它们适用的场景。对于一些经典的算法,比如贪心算法、分治算法,我希望它能够通过一些生动的故事或者类比来帮助理解其核心思想。另外,对于一些比较抽象的概念,例如时间复杂度和空间复杂度,我希望它能有更直观的解释和展示方式,而不是仅仅用“O(n)”这样的符号来带过。
不推荐大家购买. 翻译的太差. 给的例子 解释的不明不白的.
关键在第八章之后的图算法, 作者把思考路径有序到来,动态规划最后都转换成 DAG 图,没想过还能这样思考. 厉害的是, Python 的实现跟数学表达式高度一致,没想过还能这样写. 用 python 来增进自己算法的不能错过这一本
有点看不下去,知识点散乱,语义不明。感觉没有《算法导论》讲的好。不过专门针对Python这点可以,好评。
豆瓣上终于有了,但是,谁来完善一下信息啊?
翻的很绕口