最萌算法学习来啦,看不懂才怪!| 码书

普通程序员,不学算法,也可以成为大神吗?

对不起,这个,绝对不可以。

可是算法好难啊~~看两页书就想睡觉……

所以就不学了吗?就一直当普通程序员吗?

如果有一本算法书,看着很轻松……又有代码示例……又有讲解……

怎么会有那样的书呢?

哎呀,最好学了算法人还能变得很萌……

这个……要求是不是太高了呀?

哈哈,有的书真的能满足所有这些要求哦!

来,看看这本书有多可爱——

640?wx_fmt=gif

二分查找萌一个


1~100,阿喵同学选了个数,记在心里

让鼻子同学猜


640?wx_fmt=png


如果像下面这样猜……

鼻子同学很有可能失去阿喵同学

因为跟他一起玩耍实在是……

太无聊了!


640?wx_fmt=png


但是,如果这样猜……


640?wx_fmt=png 640?wx_fmt=png 640?wx_fmt=png


鼻子同学很快就猜对了

阿喵同学会觉得鼻子同学很聪明

而且好像很懂她哦~

640?wx_fmt=png

把一列元素拦腰一截,再拦腰一截,再拦腰一截……

这个就是二分查找咯~

Python代码来一发——

640?wx_fmt=png

看不清?点击代码,看大图

640?wx_fmt=png 640?wx_fmt=gif

递归算法萌一个


奶奶有个大盒子

可以上锁的那种


640?wx_fmt=png


打开大盒子,里面有很多小盒子

奶奶说,大盒子的钥匙就在某个小盒子里


640?wx_fmt=png


这些小盒子里还有更小的盒子

……

你要如何找到钥匙呢?

你可以这样:


640?wx_fmt=png


也可以这样:


640?wx_fmt=png


第一种方法好像比较聪明

但是第二种方法更简单


640?wx_fmt=png

第一种方法叫做简单查找,第二种方法叫做递归。

在编程中,递归非常常见,事实上,很多算法都用到了递归思想。

不过呢,也有人觉得递归很麻烦。

你怎么看?

简单查找是这样的——

640?wx_fmt=png

递归是这样的——

640?wx_fmt=png

看不清?点击代码,看大图

640?wx_fmt=png 640?wx_fmt=gif

背包问题萌一个


有一个贼,带着一个包……

能装4磅重的东西


640?wx_fmt=png


他可以偷的东西只有以下几件

请问,

他拿走哪几样比较合算?


640?wx_fmt=png 640?wx_fmt=png


东西反正也不多,

要不然就一轮一轮地试?


640?wx_fmt=png

640?wx_fmt=png


这次当然没问题……

可是贼也不能保证

每次只想偷这么点东西

花那么多时间试来试去的

不怕被人发现吗?


640?wx_fmt=png

说得简单一点,背包问题就是——东西你都想要,但是不能都要,那么怎样尽量多拿点。

而且要快!要快!要快!重要的事情说三遍!

背包问题有很多种解决办法,每一种都对应一种算法。把这个问题想清楚了,你至少可以成为半个算法高手。

640?wx_fmt=png

更萌的在书里,不给你们看!

我才不会告诉你们这些连环画一样的算法解析都出自好玩又涨知识的《算法图解》呢。

我才不会告诉你们,这书零基础看了开心入门,程序员看了神清气爽呢。

我才不会告诉你们大O表示法、数组、链表、散列动态规划都被这本书变成了萌物呢。

才不会告诉你们,动态规划、图算法、K临近算法、狄克斯特拉算法在这本书里一点也不高冷呢。

我才不会告诉你们,这本书不只有图,还收录了Python代码示例,还有附有详细的代码讲解呢。

尤其要保密的就是这书的封面,嗯,这本书绝对不长下面这样……

640?wx_fmt=jpeg

作者: Aditya Bhargava 

译者:袁国忠

640?wx_fmt=png

这不是《算法图解》的目录


算法简介   第1章

选择排序   第2章

递归   第3章

快速排序   第4章

散列表   第5章

广度优先搜索   第6章

狄克斯特拉算法   第7章

贪婪算法   第8章

动态规划   第9章

K最近邻算法 第10章

接下来如何做 第11章




640?wx_fmt=png

640?wx_fmt=png

识别二维码即可购买哦


码书,IT知识学习新方式,这里精选最新书籍内容,不断更新书籍新动态,服务广大程序员朋友。码书商城,码农练级新工厂,点击阅读原文查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值