专栏名称: 算法与数据结构
算法与数据结构知识、资源分享
目录
相关文章推荐
九章算法  ·  狗家mgr的落幕 ·  4 天前  
算法爱好者  ·  本科经典算法Dijkstra,被证明是普遍最 ... ·  3 天前  
九章算法  ·  双11王炸!7天出offer!LeetCod ... ·  5 天前  
九章算法  ·  这可能是码农新一次财富分配的机会…… ·  1 周前  
51好读  ›  专栏  ›  算法与数据结构

蠢萌算法,瞬间提升编程力一万点...

算法与数据结构  · 公众号  · 算法  · 2017-03-21 10:48

正文

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

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

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

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

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

怎么会有那样的书呢?

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

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

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

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

二分查找萌一个


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

让鼻子同学猜



如果像下面这样猜……

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

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

太无聊了!



但是,如果这样猜……



鼻子同学很快就猜对了

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

而且好像很懂她哦~

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

这个就是二分查找咯~

Python代码来一发——

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

递归算法萌一个


奶奶有个大盒子

可以上锁的那种



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

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



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

……

你要如何找到钥匙呢?

你可以这样:



也可以这样:



第一种方法好像比较聪明

但是第二种方法更简单


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

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

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

你怎么看?

简单查找是这样的——

递归是这样的——

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

背包问题萌一个


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

能装4磅重的东西



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

请问,

他拿走哪几样比较合算?



东西反正也不多,

要不然就一轮一轮地试?



这次当然没问题……

可是贼也不能保证

每次只想偷这么点东西

花那么多时间试来试去的

不怕被人发现吗?


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

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

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

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

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

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

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

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

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

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

作者: Aditya Bhargava 

译者:袁国忠

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


算法简介   第1章

选择排序   第2章

递归   第3章

快速排序   第4章

散列表   第5章

广度优先搜索   第6章

狄克斯特拉算法   第7章

贪婪算法   第8章

动态规划   第9章

K最近邻算法 第10章

接下来如何做 第11章




神马?你不用Python?


对号入座



用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哦~