普通程序员,不学算法,也可以成为大神吗?
对不起,这个,绝对不可以。
可是算法好难啊~~看两页书就想睡觉……
所以就不学了吗?就一直当普通程序员吗?
如果有一本算法书,看着很轻松……又有代码示例……又有讲解……
怎么会有那样的书呢?
哎呀,最好学了算法人还能变得很萌……
这个……要求是不是太高了呀?
哈哈,有的书真的能满足所有这些要求哦!
来,看看这本书有多可爱——
1~100,阿喵同学选了个数,记在心里
让鼻子同学猜
如果像下面这样猜……
鼻子同学很有可能失去阿喵同学
因为跟他一起玩耍实在是……
太无聊了!
鼻子同学很快就猜对了
阿喵同学会觉得鼻子同学很聪明
而且好像很懂她哦~
把一列元素拦腰一截,再拦腰一截,再拦腰一截……
这个就是二分查找咯~
Python代码来一发——
看不清?点击代码,看大图
打开大盒子,里面有很多小盒子
奶奶说,大盒子的钥匙就在某个小盒子里
这些小盒子里还有更小的盒子
……
你要如何找到钥匙呢?
你可以这样:
第一种方法叫做简单查找,第二种方法叫做递归。
在编程中,递归非常常见,事实上,很多算法都用到了递归思想。
不过呢,也有人觉得递归很麻烦。
你怎么看?
简单查找是这样的——
递归是这样的——
看不清?点击代码,看大图
他可以偷的东西只有以下几件
请问,
他拿走哪几样比较合算?
东西反正也不多,
要不然就一轮一轮地试?
这次当然没问题……
可是贼也不能保证
每次只想偷这么点东西
花那么多时间试来试去的
不怕被人发现吗?
说得简单一点,背包问题就是——东西你都想要,但是不能都要,那么怎样尽量多拿点。
而且要快!要快!要快!重要的事情说三遍!
背包问题有很多种解决办法,每一种都对应一种算法。把这个问题想清楚了,你至少可以成为半个算法高手。
我才不会告诉你们,这些连环画一样的算法解析都出自好玩又涨知识的《算法图解》呢。
我才不会告诉你们,这书零基础看了开心入门,程序员看了神清气爽呢。
我才不会告诉你们,大O表示法、数组、链表、散列动态规划都被这本书变成了萌物呢。
我才不会告诉你们,动态规划、图算法、K临近算法、狄克斯特拉算法在这本书里一点也不高冷呢。
我才不会告诉你们,这本书不只有图,还收录了Python代码示例,还有附有详细的代码讲解呢。
尤其要保密的就是这书的封面,嗯,这本书绝对不长下面这样……
作者: Aditya Bhargava
译者:袁国忠
算法简介 第1章
选择排序 第2章
递归 第3章
快速排序 第4章
散列表 第5章
广度优先搜索 第6章
狄克斯特拉算法 第7章
贪婪算法 第8章
动态规划 第9章
K最近邻算法 第10章
接下来如何做 第11章
用Java的,请看:
《算法(第4版)》
https://item.jd.com/11098789.html
用C语言的,请看:
《啊哈!算法》
https://item.jd.com/11477302.html
用C/C++的,请看:
《挑战程序设计竞赛》
https://item.jd.com/11266648.html
《挑战程序设计竞赛2:数据结构与算法》
https://item.jd.com/11983939.html
《算法的乐趣》
https://item.jd.com/11670027.html
用JavaScript的,请看:
《学习JavaScript数据结构与算法》
https://item.jd.com/11782876.html
语言已经不是事儿了的,请看:
《算法新解》
https://item.jd.com/12025431.html
《垃圾回收的算法与实现》
https://item.jd.com/12010270.html
琢磨伪代码的,请看:
《算法基础(第5版)》
https://item.jd.com/11891856.html
要成仙儿的,请看TAOCP:
《计算机程序设计艺术》
https://item.jd.com/11848569.html
PS:
卷1:基本算法
卷2:半数值算法
卷3:排序与查找
找到了吗?
~快点卖萌学习吧~
讲真,这么萌的算法书你见过没?还是Python代码示例... 说说你喜欢这本书的理由或者你在学习算法时都是怎样地愁肠百结。
评论点赞排名前5位赠书。活动截止2017年3月21日23:00
☟【阅读原文】在亚马逊预定《算法图解》,满200减50哦~