用卡通动画片带你掌握Python算法,不信你还不会

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

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

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

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

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

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

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

让鼻子同学猜

用卡通动画片带你掌握Python算法,不信你还不会


如果像下面这样猜……

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

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

太无聊了!

用卡通动画片带你掌握Python算法,不信你还不会

但是,如果这样猜……

用卡通动画片带你掌握Python算法,不信你还不会

用卡通动画片带你掌握Python算法,不信你还不会

用卡通动画片带你掌握Python算法,不信你还不会


鼻子同学很快就猜对了

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

而且好像很懂她哦~

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

这个就是二分查找咯~

Python代码来一发——

用卡通动画片带你掌握Python算法,不信你还不会

递归算法萌一个


奶奶有个大盒子

可以上锁的那种

用卡通动画片带你掌握Python算法,不信你还不会


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

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

用卡通动画片带你掌握Python算法,不信你还不会


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

……

你要如何找到钥匙呢?

你可以这样:

用卡通动画片带你掌握Python算法,不信你还不会


也可以这样:

用卡通动画片带你掌握Python算法,不信你还不会

第一种方法好像比较聪明

但是第二种方法更简单

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

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

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

你怎么看?

简单查找是这样的——

用卡通动画片带你掌握Python算法,不信你还不会

递归是这样的——

用卡通动画片带你掌握Python算法,不信你还不会


背包问题萌一个

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

能装4磅重的东西

用卡通动画片带你掌握Python算法,不信你还不会

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

请问,

他拿走哪几样比较合算?

用卡通动画片带你掌握Python算法,不信你还不会

东西反正也不多,

要不然就一轮一轮地试?

用卡通动画片带你掌握Python算法,不信你还不会

用卡通动画片带你掌握Python算法,不信你还不会

这次当然没问题……

可是贼也不能保证

每次只想偷这么点东西

花那么多时间试来试去的

不怕被人发现吗?

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

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

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


请使用浏览器的分享功能分享到微信等