为什么有人说弄懂了《算法导论》的 90%,就超越了 90%的程序员?

您所在的位置:网站首页 算法导论适合什么水平的人看呢 为什么有人说弄懂了《算法导论》的 90%,就超越了 90%的程序员?

为什么有人说弄懂了《算法导论》的 90%,就超越了 90%的程序员?

2023-12-16 23:39| 来源: 网络整理| 查看: 265

我是一枚快乐的程序媛~。

让我先做个调查,你的《算法导论》这本书,如今还在书架上吃灰 Or 垫显示器

《算法导论》这本书,在计算机界可谓是大名鼎鼎,非常经典的一本书,然而对普通程序员来讲,其实日常用处并不太大,因为书里的内容实在是太理论自学的话非常枯燥,而且一旦看不懂,就很容易产生挫败感,进而发出“学这没用”的感慨。

《算法导论》是美国的本科生教材,不过在国内,据我了解,只有顶尖的几所大学作为必修教材,因为它实在太难讲,学生也不易学,你看看他的目录,就足够吓走一批人:

《算法导论》在计算机界的地位,有个类比的例子:

就如同袁隆平爷爷的《水稻的雄性不孕性》论文在科学界的地位。

咱们目前有几亿的农民,但从基因层面研究水稻,进而培育新品种、养活十几亿中国人的,也仅有袁隆平爷爷为首的一众科学家而已。

所以说,基础知识就像是一座大楼的地基,它决定了我们的技术高度。而要想快速做出点事情,前提条件一定是基础能力过硬,“内功”要到位。

要想练好 降龙十八掌,你先要学怎么扎马步。下面的内容绝对值得一个赞。

下面给大家推荐一个进阶的渠道:

入门篇

《大话数据结构》

这本书最大的特点,是它把理论讲得很有趣,不枯燥。作者结合生活中的例子,讲解数据结构和算法,感受非常直观。虽然这本书有 400 多页,但是花两天时间读完,应该是没问题的。如果你之前完全不懂数据结构和算法,可以先从这本书看起。

《算法图解》

跟《大话数据结构》走的是同样的路线,就像这本书副标题写的那样,“像小说一样有趣的算法入门书”,主打“图解”,通俗易懂。它只有不到 200 页,所以内容比较少。作为入门书,能让你对数据结构和算法有个大概的认识。

这些入门书共同的问题是,缺少细节,不够系统,也不够严谨。所以,如果你想要系统地学数据结构和算法,看这两本书肯定是不够的。

进阶篇

《数据结构和算法分析》

这是国内外很多大学的教材。非常系统全面,适合对数据结构和算法有些了解,并且掌握了至少一门编程语言的同学。而且,这个作者也很用心。他用了三种语言,写了三个版本,分别是:《数据结构与算法分析 :C 语言描述》《数据结构与算法分析:C++ 描述》《数据结构与算法分析:Java 语言描述》。

《程序员修练之道》

这也是一本经典书,里面的道理更像是“内功心法”,而且翻译质量也很不错,读起来很爽。

面试篇

《剑指 offer》

这本书几乎包含了所有常见的、经典的面试题。如果能搞懂这本书里的内容,应付一般公司的面试应该不成问题。

《编程珠玑》

这本书的某瓣评分 9 分。它最大的特色就是讲了很多针对海量数据的处理技巧。这个可能是其他算法书籍很少涉及的。面试的时候,海量数据处理的问题也是经常会问的,特别是校招面试。不管是开拓眼界,还是应付面试,这本书都很值得一看。

《编程之美》

这本书有多位作者,其中绝大部分是微软的工程师,所以书的质量很有保证。不过,这里面的算法题目稍微有点难,也不是很系统,这也是我把它归到面试这一部分的原因。如果你有一定基础,也喜欢钻研些算法问题,或者要面试 Google、Facebook 这样的公司,可以拿这本书里的题,先来自测一下。

经典篇

《算法导论》

这是本文的主角,相信就不用多介绍了吧。

《算法》

这本书也是一本经典大部头,不过它比起《算法导论》来要友好很多,更容易看懂,更适合初学者入门。但是这本书的缺点也很明显,就是内容不够全面,比如动态规划这么重要的知识点,这本书就没有讲。对于数据结构的东西,它讲的也不多,基本就是偏重讲算法。

殿堂级经典

《计算机程序设计艺术》称第二,我想没人敢称第一。这本书包括很多卷。说实话,我也只看过比较简单的几卷,比如《基本算法》《排序和查找》。

这套书的深度、广度、系统性、全面性是其他所有数据结构和算法书籍都无法相比的。但是,如果你对算法和数据结构不是特别感兴趣,没有很好的基础,想要把这套书读完、读懂是比较难的。你可以把它当作你算法学习的终极挑战。

种草篇

《算法帝国》

吴军老师的三部曲《数学之美》《浪潮之巅》《文明之光》

《算法之美》

这些书共同的特点是,都列举了大量的例子,非常通俗易懂。夸张点说,像《算法帝国》,文科生都能读懂。当你看这些书的时候,你常常会深深感受到算法的力量,被算法的优美之处折服。即便不是从事 IT 工作的,看完这几本书也可以开拓眼界。

推荐了那么多,其实我也知道,

每个人的基础、学习能力都不一样,掌握程度取决于你的努力程度。

除了你之外,没有人能百分之百保证你能掌握什么知识

程序员生涯上,我们会遇到很多的坎,很多bug。解决了,就是成长。

技术之路漫漫,想想还有那么多未知的bug在等着你,未尝不是一件乐事

OK,本回答是我坚持90天日更知乎-程序员系列第3篇,每篇回答都值得收藏,欢迎来围观。

我是@程序媛小天,祝你程序员之路,越走越稳。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3