查看原文
其他

赠书|零压力入门算法的顶流畅销书《漫画算法》

博文视点 程序猿DD 2020-10-16

点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

来,认为算法高深莫测、难以掌握的同学请起立。

好了好了,同学们冷静点,请坐请坐!

博文菌算是半个过来人,永远忘不了自己第一次翻开算法书的情形——

随便翻一页,目之所及不是大篇大篇的代码,

就是乱七八糟的符号公式,

这枯燥的大砖头,配上黑白印刷,

一阵晕眩后,气的我只想睡觉。

相信很多同学都有被一些著作的算法讲解吓到过,

很大原因可能是这些书不适合入门

刚开局就给自己地狱难度,当然会遭受暴击!



相反,想入门算法,只要选对了书,每一天都可以是情人节! 比如,今天的主角《漫画算法:小灰的算法之旅(Python篇)》,

没有满屏的代码,没有古怪的公式符号,

只有色彩丰富的图形萌出天际的漫画故事

能够让你在愉快的学习氛围中,轻松领悟算法思想、理解数据结构,特别适合大家入门学习!


作为去年最畅销的IT新书《漫画算法》的Python篇,它的讲法上延续了上一版的优点,内容也做了升级,

本书重点讲解算法和数据结构的基础知识

像是时间复杂度、二叉树、排序算法等等。

并且书中还特别介绍了面试中的算法职场应用

全书用极具亲和力的方式,把算法“是啥、咋来的、能干啥”讲的透透儿的。就算完全没有计算机背景的同学读起来也不觉得生硬!



比如在介绍基础的 冒泡排序 的时候,

一般书里会这样介绍:

它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”

然后贴上一张冒泡排序流程图:

看完这一段,各位同学,大家冒泡了吗?

反正博文菌已经开始冒烟了……

再看看《漫画算法(Python版)》中是如何讲解的!

就像汽水中小气泡们会因为轻重而向上浮动,

冒泡排序中的小元素们也会因为大小而向一侧浮动!

是不是简单、生动又清晰!

接下来,流程示例是这样的:

有8个数字组成一个无序数列{5,8,6,3,9,2,1,7},希望按照从小到大的顺序对其进行排序。

按照冒泡排序的思想,我们要把相邻的元素两两比较,当一个元素大于右侧相邻元素时,交换它们的位置;当一个元素小于或等于右侧相邻元素时,位置不变。详细过程如下:

这样一来,元素9作为数列中最大的元素,就像是汽水里的小气泡一样,“漂”到了最右侧。

超级细致,是不是一下子就懂了,甚至觉得简单极了?!



冒泡排序是基础中的基础,如果你觉得它没有什么代表性的话,那再来看看《漫画算法》介绍  动态规划  问题时都用了哪些“手段”~

书中以典型问题“挖金矿”为主线,从小灰同学一次失败的面试经验开始:

接下来的讲解中,用大量直观的图形描述来进行解释问题、引导思路:

时不时可爱的小灰和大黄会突然出现,在它们的对话中暗藏着对算法的描述:

在小灰和大黄一步步地引导下,博文菌都能够无障碍的Get到动态规划的基本思想,读完忍不住地惊叹“这还是曾经那个烧脑又可怕的动态规划问题吗?”



其实啊,算法就是这样,很多算法只是外表复杂,但只要方法得当,搞清原理,掌握起来还是很容易的!

《漫画算法:小灰的算法之旅(Python篇)》这本书就针对这些“唬人”的算法,结合漫画带来的轻松氛围,由浅入深地引导我们开动脑筋去思考问题的答案!

说它是零压力入门的算法灵药一点也都不过分,也难怪stormzhang、刘欣、梁勇 、李烨、张洪亮、崔庆才、刘志军等等圈内大佬们都在咔咔力荐!


赠书活动环节
奖品介绍:《漫画算法(Python篇)》 + 可爱的冰箱贴
参与方式:留言集赞,说说你与算法的故事!内容可以但不限于以下几种:
  • 哪个算法的学习折磨过你?

  • 哪个神奇算法帮你轻松解决了什么问题?

  • 你工作中最常接触的算法?用来做啥?

  • 你认为最难的算法?如何学会的?

留言点赞数量前5位的参与者将获得本地活动奖励。

截止时间:下周一中午12点


扫一扫,关注我

一起学习,一起进步

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存