这次为大家准备了,三大部分的书籍和免费课程。我敢保证你一定能找到喜欢的

数据结构是程序的骨架,算法是程序的灵魂,很多CS出身的朋友都没能真的搞懂这两者……

本文分为3部分:
一、入门:分为适合0基础小白学习的和有基础同学去学习。
二、经典:神作,哪怕你是小白也值得提前买了供着。
三、免费课程:ACM金奖+前阿里专家授课,并且答疑,有配套的实战项目。

一、入门

1.《算法图解》

非常适合0基础的同学来学习,最大卖点就是用图来解释算法,不枯燥。代码示意还是基于Pytho。绝对不会是《算法导论》一样从入门到放弃……

每章都是设定一个场景问题,再用合适的算法去求解。

的确是一本“像小说一样有趣的算法入门书”


口碑:豆瓣8.4分,1200人评分。

2.《漫画算法》

其实能看出来作者很用心,定位和《算法图解》接近。不过是漫画形式,轻松有趣。逻辑清晰,通俗易懂。


口碑:豆瓣9.1分,76人评分。

3.《算法》

Robert Sedgewick大神作品,基于 Java 进行代码实现,推荐有点基础的同学就可以用这本书进行入门了,也是经典入门书籍了。用中文版译者的来说:

1、基础而全面

2、图示清晰易懂:随便翻开这本书的一页,你会看到什么?图,图,还是图。这本书之所以厚,示意图多是一个主要原因。看完全书,纸上全是字的页码非常的少。和国内教材的枯燥说教相比,这本书的图示可以让你从一个全新的角度理解以前你可能已经学习过的许多算法。

3、代码量少:Java成为新一代的教学语言是有原因的。Java的面向对象以及垃圾收集等特性使得读者和学生可以最大限度的将注意力集中到算法本身上去。这本书中的所有代码都不超过一页,只有很少的几处会有连续两、三页的代码,但每一页也都自成体系。这一点我非常欣赏,因为翻页会中断读者的思路。

4、数学要求低:看过《算法导论》么?看过《计算理论》么?里面的证明是不是很让人抓狂?这种事情在这本书里不存在。这本书是从一个“实用”的角度来看算法。什么是证明算法有用好用实用的最好办法?除了理论上的保证之外,实现的简洁、运行时间的数字才是王道。这本书里用的最多的就是数学归纳法,因为很多代码都是递归的。很少的地方用到了概率论。只有最后一章讲了一个比较深奥的Cook-Levin定理。不过说实在的我觉得作者并没有讲清楚,读者记住结论、领会精神也就好了。

5、API设计:书中所有的算法都有一份自己的API。作者在书中实践了“契约式”编程,并向读者展示了这种方式的妙处。关于API设计,作者也总结了一些原则,并用Java的标准库中的一些类做为例子进行了分析。这些分析无论是对刚刚入行的新手还是对老程序员都是非常有价值的。

6、科学方法:这一点才是这本书的精髓。为什么这么说?因为中国学生缺少的正是这些。不要觉得第一章有250页,而其他讲解具体算法的任何一个章节都没有第一章长,就觉得第一章是在浪费版面。作者在第一章之中为全书打下了基调,而科学的方法就是其中最重要的部分。所有算法的讲解方式,都遵循了“猜想-实验”的循环。这是人类探索自然的方式,也是科学研究的方式,也是我们所缺少的“科学精神”。


口碑:豆瓣9.4分,1034人评分。

二、经典

1.《算法导论》

如果你能自学《算法导论》,并且全读完、读懂了。我敬你是条汉子……

最好是有一个大佬贴身带着学,不然的话这本书中有非常多算法的正确性、复杂度的证明、推导,数学公式,有的题目答案要写6-7张纸 o(╥﹏╥)o 。


口碑:豆瓣9.3分,4900人评分。

2.《数据结构与算法分析》多语言版本

系统、全面、严谨,而且又不是特别难,是不少学校的教材。


3.《计算机程序设计艺术》

作者:Donald Knuth,神一样的男人,这本书简单的说,这是艺术品!

第一卷于1968年推出,可真正能读完读懂的人为数并不多(传比尔•盖茨费时几个月才读完这一卷,然后说,如果你想成为一个优秀的程序员,那就去读这个吧)

建议想学数据结构和算法方面的同学,可以先买一本供起来。


三、免费课程:ACM金奖大神授课解惑

这门课程是由ACM金奖+前阿里高级技术专家授课:


精选知识点,梳理整齐。加上实战练习,从基础算法与数据结构入手,逐渐让你窥探大牛的思考过程、coding过程,各种实用又风骚的编程技巧一览无余,并且为大家准备好了相应的作业进行实战,并且进行解答。最后模拟面试帮助大家拿到高薪~

点击进入↓

补充一句如果学习笔记写的好,我们还会额外送出纸质技术书哦


其实也有同学学习之后很困惑的问我“老师,这门课质量明明很不错呀,为什么你们还要免费?”

这门课是真的为了帮助同学加强算法、数据结构方面的知识,在秋招拿一个好成绩。

七月在线的官网上也有不少免费公开课、1元课程,并且几乎每周都会有一场免费直播课,用3-4个小时为学员们讲解某一方面的技术。

不说废话,大家可以看看这门课程的详细安排(干货比较多,有点长,建议直接双击查看大图)


快来听听ACM金奖大神的课程哦

其次七月在线也有总计17个算法方面的免费公开课

14分钟讲解LCS问题,节奏快速紧凑、条理清晰,全程无一句废话。
14分钟讲解LCS问题https://www.zhihu.com/video/1149394076997738496十分钟搞定LCS – 七月在线

文章来源于互联网:程序员应该如何学习算法?

发表评论