普通程序员,不学算法,也可以成为大神吗? 对不起,这个,绝对不可以。 可是算法好难啊~~看两页书就想睡觉…… 所以就不学了吗?就一直当普通程序员吗? 如果有一本算法书,看着很轻松……又有代码示例……又有讲解…… 怎么会有那样的书呢? 哎呀,最好学了算法人还能变得很萌…… 这个……要求是不是太高了呀? 哈哈,有的书真的能满足所有这些要求哦! 来,看看这本书有多可爱—— 二分查找萌一个 1~100,阿喵同学选了个数,记在心里 让鼻子同学猜 如果像下面这样猜…… 鼻子同学很有可能失去阿喵同学 因为跟他一起玩耍实在是…… 太无聊了! 但是,如果这样猜…… 鼻子同学很快就猜对了 阿喵同学会觉得鼻子同学很聪明 而且好像很懂她哦~ 把一列元素拦腰一截,再拦腰一截,再拦腰一截…… 这个就是二分查找咯~ Python代码来一发—— 看不清?点击代码,看大图 递归算法萌一个 奶奶有个大盒子 可以上锁的那种 打开大盒子,里面有很多小盒子 奶奶说,大盒子的钥匙就在某个小盒子里 这些小盒子里还有更小的盒子 …… 你要如何找到钥匙呢? 你可以这样: 也可以这样: 第一种方法好像比较聪明 但是第二种方法更简单 ![]() 第一种方法叫做简单查找,第二种方法叫做递归。 在编程中,递归非常常见,事实上,很多算法都用到了递归思想。 不过呢,也有人觉得递归很麻烦。 你怎么看? 简单查找是这样的—— 递归是这样的—— 看不清?点击代码,看大图 ![]() 背包问题萌一个 有一个贼,带着一个包…… 能装4磅重的东西 他可以偷的东西只有以下几件 请问, 他拿走哪几样比较合算? 东西反正也不多, 要不然就一轮一轮地试? 这次当然没问题…… 可是贼也不能保证 每次只想偷这么点东西 花那么多时间试来试去的 不怕被人发现吗? ![]() 说得简单一点,背包问题就是——东西你都想要,但是不能都要,那么怎样尽量多拿点。 而且要快!要快!要快!重要的事情说三遍! 背包问题有很多种解决办法,每一种都对应一种算法。把这个问题想清楚了,你至少可以成为半个算法高手。 ![]() 萌不萌?! 更萌的在书里,不给你们看! 我才不会告诉你们,这些连环画一样的算法解析都出自好玩又涨知识的《算法图解》呢。 我才不会告诉你们,这书零基础看了开心入门,程序员看了神清气爽呢。 我才不会告诉你们,大O表示法、数组、链表、散列动态规划都被这本书变成了萌物呢。 我才不会告诉你们,动态规划、图算法、K临近算法、狄克斯特拉算法在这本书里一点也不高冷呢。 我才不会告诉你们,这本书不只有图,还收录了Python代码示例,还有附有详细的代码讲解呢。 尤其要保密的就是这书的封面,嗯,这本书绝对不长下面这样…… |
|