描述
开 本: 128开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115354594丛书名: 图灵原创
啊哈!去中科院玩单片机
呦吼!在微软亚洲研究院写爬虫
哒哒!写一本开开心心的算法书
你一定能看懂的算法书!
作为本书的策划编辑,我很荣幸。
《啊哈!算法》是我读过的有趣且是我能看懂的一本算法书。
我是因为啊哈磊写的另外一本书《啊哈!C》而认识啊哈磊的。啊哈磊还有个网站,也叫啊哈磊,这个啊哈磊网站中有个论坛,叫啊哈论坛。论坛建立短短一年半时间,就聚集了15000多个啊哈小伙伴,都是萌物。我对他的写作风格很欣赏,那是一种因热爱和探究而产生的纯粹的快乐,因此,当啊哈磊率领着他的一大波萌物开开心心地攻城略地,浩浩荡荡地兵临城下,跟我说他想写一本通俗易懂的算法书,不知是否能出版时,我的回答是:“必须出版!”
这本书出版意向的达成就是这么简单。
但创作的过程一点不轻松。因为任何一本拿得出手的书的创作都是作者大量时间和精力付出的结果。是毅力的累积。
几个月之后,我拿到了这本书的初稿。我高高兴兴地开始读。这部分写得通俗易懂,我看得津津有味。但读了一些之后,我发现我高兴不起来了,我遇到了困难,有些篇章写得太简略了,只是把算法的基本思路说了一下,然后就直接给出了以该算法实现的某个示例的完整代码。
这样不行,看不懂啊。原理很简单,但实现起来时,看代码就感觉对应不起来了。或许比我聪明的人能看懂,但我希望像我这种在算法方面毫无造诣的普通选手读起来也不吃力,于是我让啊哈磊完善它。我是这么交代的——你得写得让我能看懂才行。这要求非常的简单,但也非常的暗黑。
经过比我想象的要长的时间,啊哈磊给了我第 二版。
我继续阅读,很多之前看不懂的地方现在能看懂了,或者到少我认为我看懂了(请允许我使用这种让人生气的措辞),但还有少部分欠点劲儿。啊哈磊向我投来困惑又略带鄙视的目光,我用坚定又痴痴呆呆的目光把他的目光给顶了回去。
于是啊哈磊继续埋头苦干。
终于,我完全可以看懂的版本诞生了。
对于一本技术书,一个编辑可能犯下的有价值的“错误”就是试图去完全读懂它。
我还要特别强调一点,这本书不仅写得通俗易懂,而且还在一个非常重要的方方面超越了其他技术书,那就是这本书中还配了可爱的漫画,萌萌的画风,生动的场景,与文字浑然一体。
《啊哈!算法》是一本充满智慧和趣味的算法入门书。没有枯燥的描述,没有难懂的公式,一切以实际应用为出发点,通过幽默的语言配以可爱的插图来讲解算法。你更像是在阅读一个个轻松的小故事或是在玩一把趣味解谜游戏,在轻松愉悦中便掌握算法精髓,感受算法之美。
《啊哈!算法》中涉及的数据结构有栈、队列、链表、树、并查集、堆和图等;涉及的算法有排序、枚举、深度和广度优先搜索、图的遍历,当然还有图论中不可以缺少的四种路径算法、两种生成树算法、割点与割边算法、二分图的匹配算法等。
目 录
第 1章 一大波数正在靠近——排序 1
第 1节 **快**简单的排序——桶排序 2
第 2节 邻居好说话——冒泡排序 7
第3节 **常用的排序——快速排序 12
第4节 小哼买书 20
第 2章 栈、队列、链表 25
第 1节 解密QQ号——队列 26
第 2节 解密回文——栈 32
第3节 纸牌游戏——小猫钓鱼 35
第4节 链表 44
第5节 模拟链表 54
第3章 枚举!很暴力 57
第 1节 坑爹的奥数 58
第 2节 炸弹人 61
第3节 火柴棍等式 67
第4节 数的全排列 70
第4章 万 能的搜索 72
第 1节 不撞南墙不回头——深度优先搜索 73
第 2节 解救小哈 81
第3节 层层递进——广度优先搜索 88
第4节 再解炸弹人 95
第5节 宝岛探险 106
第6节 水管工游戏 117
第5章 图的遍历 128
第 1节 深度和广度优先是指啥 129
第 2节 城市地图——图的深度优先遍历 136
第3节 **少转机——图的广度优先遍历 142
第6章 **短路径 147
第 1节 只有五行的算法——Floyd-Warshall 148
第 2节 Dijkstra算法——通过边实现松弛 155
第3节 Bellman-Ford——解决负权边 163
第4节 Bellman-Ford的队列优化 171
第5节 **短路径算法对比分析 177
第7章 神奇的树 178
第 1节 开启“树”之旅 179
第 2节 二叉树 183
第3节 堆——神奇的优先队列 185
第4节 擒贼先擒王——并查集 200
第8章 更多精彩算法 211
第 1节 镖局运镖——图的**小生成树 212
第 2节 再谈**小生成树 219
第3节 重要城市——图的割点 229
第4节 关键道路——图的割边 234
第5节 我要做月老——二分图**大匹配 237
第9章 还能更好吗——微软亚洲研究院面试 243
评论
还没有评论。