Py学习  »  Git

送书|GitHub 标星 6.8w 的“算法小抄”是什么来头?

HelloGitHub • 3 年前 • 538 次点击  

送 5 本《labuladong的算法小抄》抽奖规则:

  • 本文末尾留言即可参与

  • 随机抽取 5 位幸运读者

  • 每位中奖者送一本(包邮)

  • 开奖时间 12.14 (下周一)

GitHub 68.8k star的硬核算法教程——

《labuladong的算法小抄》

付东来(@labuladong) 著

面试时,如果没有拿得出手的实战项目证明自己能力,面试官只能通过算法题来评估你。

力扣的算法题因被BAT、京东、美团、字节跳动、滴滴、拼多多、微软、亚马逊、Google、Facebook等一线科技公司选作面试题而名声大噪。

不过很少有人能刷完力扣的上千道题,本“算法小抄”就把这些海量算法题分门别类汇总,提炼出各类题的套路和解题框架,帮助你快速掌握算法思维,以不变应万变来应对互联网公司的各种算法题!

都是白给的套路,谁能不爱!

再加上书中用喜闻乐见的语言来讲述算法,还配上了几百幅有趣的算法图示及部分动画演示

让我这样算法基础如此薄弱的人,都能快乐阅读,快乐学习。

不禁感慨,这本书确实配得上这个排名!


传授最高效的学习方式



你是否有过这种感觉:数据结构和算法我以前学得挺好的,为啥这些算法题我完全没思路呢?

面对这种疑惑,有人可能会摆出好几本与算法相关的大部头,建议你去进修。可如果学习算法是为了应对考试和面试(相信大部分人是这样),这时去啃一些大部头专著显然就得不偿失了。

而更高效的方法是直接刷题

但是,刷题也是有技巧的,刷题平台上动辄几千道题,难道你要全刷完吗?正确刷题方式是——

边刷边归纳总结,抽象出每种题型的套路框架。

比如,刷一道算法题,解题思路有什么可复用的地方,是否可以和之前做的某一道题联系起来?

再比如,都说动态规划问题难,千变万化,但这类问题本身是不是有一些特性,是不是能够抽象出一套抽象的指导方法来做动态规划问题?

《labuladong 的算法小抄》中,

已经为你全部总结好了这些核心框架,

并且直接集中放到了开篇第一章

后续章节精选了八十道力扣算法题,

手把手教你如何运用算法框架去解决实际算法问题。

本书专攻算法刷题,训练算法思维,应对算法笔试。

本书作者付东来,江湖人称Offer收割机,有着多年的刷题经验,有着他的经验加持,相信把这本书刷完,你也可以培养出框架思维!


不局限于具体编程语言



本书有一点和其他的书不太一样,书中并没有统一编程语言,而是混用了三种最常用的编程语言:Python、C++ 和 Java

比如,一道题我们用 Python 来写解法,下一道题可能用 Java 来写解法。又或者说,对于同一道题,我们用 Python 形式的伪代码描述某个算法的框架套路,最后用 C++ 写解法实现这个算法。

  • 为什么要这样做呢?

刷算法题是在养成一种思维模式,不应该局限于具体的编程语言。每一种语言都有缺点,我们到底选择用哪一种语言来解某道题目的根本依据是,解法的思路是否可以避开隐晦的语言特性,做到清晰易懂。

不用担心有的语言你不熟悉,算法根本用不到编程语言层面的技巧,本书会秉持最小化语言特性的原则,只会介绍本书中用到的数据结构和对应的 API,只要你学过任何一门编程语言,很容易就能明白。(书中也会统一介绍三种语言的基本操作)

▼扫码前往京东,获取本书详情▼

每满100-50活动进行中


▼扫码前往当当,获取详情▼

限时5折抢购中





关注公众号第一时间收到更新



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/100047
 
538 次点击