2

全部,

我是一名拥有 Web 技术硕士学位的中级 Python 开发人员,虽然我认为自己是一个体面的程序员,但我总是遇到与算法复杂性相关的问题。

任何人都建议一本好书来解释如何推导算法的 O 表示法,以及可以使用哪些常见解决方案来解决复杂算法?

我目前正在阅读“Uncle Bob 的”The Clean Coder: A Code of Conduct for Professional Programmers(顺便说一句,非常值得一读,我强烈推荐它),其中他专门有一章来解释如何在工作之外度过 20 小时一周提高你的手艺是成为一个更好的程序员的唯一途径。所以我想我会从算法复杂性开始,然后转向大表和闭包。

4

4 回答 4

5

Thomas Cormen的算法介绍似乎是该行业的首选手册。它涵盖了广泛的主题,包括排序、数据结构、高级设计和分析以及图形算法。

算法导论独特地结合了严谨性和全面性。这本书深入涵盖了广泛的算法,但使所有级别的读者都可以访问它们的设计和分析。每章相对独立,可以作为一个学习单元。这些算法是用英语和一个伪代码描述的,该伪代码被设计为任何做过一点编程的人都可以阅读。在不牺牲覆盖深度或数学严谨性的情况下,这些解释保持基本。

于 2012-08-23T03:28:25.777 回答
1

如果您特别想牢牢掌握渐近分析,请观看这​​两个视频讲座。对于渐近分析,这比阅读要好得多CLRS

CS61B 加州大学伯克利分校第 19 讲

CS61B 加州大学伯克利分校第 20 讲

于 2012-08-24T00:05:04.283 回答
0

算法分析,Jeffrey McConnell,非常简单的书:链接

于 2012-08-23T03:29:58.553 回答
0

有很多书可以学习算法。这是一个很好的讨论: https ://stackoverflow.com/questions/302270/what-is-the-best-book-for-learning-about-algorithms

根据您当前的理解水平和您拥有的时间,您可以选择一个。

于 2012-08-23T04:14:51.593 回答