• 算法之禅:递推与递归:recurrence and recursion9787517089346
  • 算法之禅:递推与递归:recurrence and recursion9787517089346
21年品牌 40万+商家 超1.5亿件商品

算法之禅:递推与递归:recurrence and recursion9787517089346

正版图书,可开发票,请放心购买。

54.4 8.0折 68 全新

仅1件

广东广州
认证卖家担保交易快速发货售后保障

作者刘铁猛(Timothy)著

出版社中国水利水电出版社

ISBN9787517089346

出版时间2020-10

装帧平装

开本16开

定价68元

货号10680494

上书时间2024-12-22

哲仁书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

一夜春风,万树梨花 

Thomas H.Cormen、Charles E.Leiserson、Ronald L.Rivest、Clifford Stein合著的《算法导论(第三版)》一书,涵盖了我们常用的大多数算法,并系统性地对各个算法从概念、性能、优劣等各方面进行了深入而有见地的分析与讲解,全书近800页。这本书的四个作者全部是全球大学的博士加教授,所以这本书有再大的声响,也实在不算奇怪。

 

Robert Sedgewick、Kevin Wayne合著的《算法(第四版)》也大概在同一时期出版,也许是由于作者比上面那本书少了两位,全书只有600来页,虽然拿在手里还是不轻,但无论如何,能够在那个年代给出算法的Java实现,也真是善莫大焉。

 

以上两本书的出版时间,大概都是在2012年。此后,随着国内软件技术水平的飞速提高,在算法领域也涌现出不少优秀的图书作品,有大话的,有啊哈的,有漫画的。总之,但凡能为读者降低一丁点儿学习难度的算法书,都受到了读者喜爱。

 

但上述两本书的地位却从未受到过实质性挑战,被读者奉为算法学习之圭臬,长期占据算法类图书排行榜前两名。这种现象的产生,可能包含了上述提到的种种原因,或许也有致敬经典或购书的从众心理。但不得不说,粗略算来,以上两本书离出版时间迄今已经8年有余,8年时间,当时生的孩子现在应该可以打酱油了。而两三斤的重量,也不是普通算法练家子敢于承受的—无论是心理还是身体。

 

算法,承载着无数程序员的追求与梦想,纵是被虐千百遍,依然待之如初恋。算法在磨砺着众多程序员心智的同时,也在被无数程序员吸收、质疑、优化。铁猛,便是这队伍中的一员。

 

说起铁猛,不少资深的程序员都熟悉。大概在以上两本算法图书出版的同一时期,铁猛的本技术著作《深入浅出WPF》面世,这本书,也是近10年来铁猛写过的的一本书。尽管已经重印十余次,但直到现在,该书依然有读者在不断购买。近10年来,WPF的版本已历经数次更新,市场上讲解WPF版本技术的图书也比比皆是。作为该书当时的编辑,我确信该书在技术之外,一定有些其他可以触动读者的因素,这或许包括其治学的态度,或许包括对其文字的欣赏,或许还包括某些只有程序员可以体会的特别的原因。我只知道,因为这本书的积累,铁猛的功力达到了一个相当的高度,从而得以顺利进入美国微软。

 

不久前的某一天,身在美国的铁猛联系我,说他在准备面试的过程中,总结了一些关于算法的内容,想让我帮忙掌掌眼。我嘴上是淡淡的答应,心里却着实来了精神。以我对铁猛的了解,他主动拿出去让人掌眼的,一定是他用心、值得与技术社区分享的好东西。

 

他把这些关于算法的内容发给了我,也就是本书的初稿,基本上也是本书的终稿。我把本书的一些审读体会讲给大家。

 

首先,本书与上述提到的《算法导论》及《算法》相比,是一本让你有条件可以倒背如流的书。所谓的有条件,一是书不能太厚,六七百页的书,读一遍都困难,别说倒背了;二是得能够让人真正深刻理解,对于理解不了的书不要说百十来页,就是背上一页都难于上青天;三是要有倒背的必要,你若对任一经典算法能信手拈来,相信你一定可以得到一个全球IT企业Top 10的Offer,面对这种投资产出比,背几个算法,有何不可?四是要背就得背一本值得背的书。

 

当然,请读者背一本书只是个玩笑,每位读者对一本书的价值,都有自己的评定。

 

本书主题为“算法之禅”。算法,不要说是照本宣科地讲,哪怕深入浅出地讲,我感觉与这个“禅”的意境还是云泥之别。

 

禅是诸法因缘生。算法领域,经典笼罩,读者能发现此书,为“缘”。

 

禅是一沙一世界。如果能从作者的某句话中得到一个顿悟,能从一个算法的讲解中体会到作者之所以达到某种高度的内因,这书是100多页还是800多页,也就无关紧要了,你必将拥有世界。

 

算法像一个棒槌,中间容易两头难。假设天下算法共有九九八十一种,你若想创造出第八十二种,这比较难,建议随缘;若想把这八十一种算法都弄明白怎么回事,不是太难,但仅弄明白怎么回事,除了侃大山外却没什么别的大用;要把任意算法都能信手实现,这个也比较难,但确是值得下些功夫的,因为这类人在代码江湖中不足十之一二,一旦入围就是值得仰望的存在。

 

可见,算法学习的核心,就是算法的实现。不能实现、面试时不能实现、面试时稍加变化就不能实现,这代表了算法水平的地下三重天,反之则是地上三重天。而在实际工作中,面对实际应用场景,一个恰当的算法能不能实时地从脑海中跃然而出并就地化为代码,这是我们真正的目标。

 

而任何算法的实现,世界上只有两条路:递推,或者递归。

 

递推与递归都能完成算法的实现,各有所长又各有局限,当你既可以用递推的思想来实现算法,又可以用递归思想来实现算法,你就实现了Offer自由。

 

而本书,不但对算法进行了完整的实现,更是用递推与递归的方法进行了双重实现。从这个角度,本书还当真是世界无二了。

 

我真诚向大家推荐这本书,希望大家有缘领略铁猛老师优雅的文字、极美的代码、深邃的思想,在本书的引领下,实现Offer自由。

 

十年寒窗,只待一夜春风,万树梨花。

 

本书编辑 周春元



 
 
 
 

商品简介

作者简介

刘铁猛,软件,技术作者、译者、教育者,现就职于(美国)。曾就职于微软(美国),著有《深入浅出WPF》一书,数万册。精心制作的《C#语言入门详解》视频课程点击量超500万次,是目前排名一的中文C#教程。他的多套视频教学已被微软收录为官方认证课程。他的所有作品风格一致:内容详实准确、语言风趣幽默、说理深入浅出,被学习者们奉为佳作。



目录
致谢
一夜春风,万树梨花
第OO章  开篇绪言
  缘起
  预备知识
第01章  思想与实现
  思想
  实现
    准备一棵树
    用递推代码实现递推思想
    用递归代码实现递推思想
    用递归代码实现递归思想
    “好”的递归与“坏”的递归
    用递推代码实现递归思想
    思考题
第02章  回溯:上古神话中的算法
  回溯式递归的基本原理
    示例1
    示例2
  神话故事中的算法
    迷宫设计入门
    探寻迷宫中的路径
    用递推(循环)代码实现回溯
    思考题
第03章  动态规划:动机决定性质
  什么是动态规划
  透彻理解动态规划
    递推版动态规划
    递归版动态规划
    陷阱:这不是动态规划
    贪心也要动脑子
  更上层楼:让规划“动态”起来
    切年糕
    接订单
    听讲座
    思考题
  动态规划哲思
第04章  排序:算法皇冠上的明珠
  游乐园:O(n2)的简单排序们
    选择排序
    冒泡排序
    插入排序
  以空间换时间:归并排序
  看运气的快速排序
  两全其美:堆排序
    什么是“堆”
    构建大/小根堆
    利用“大根堆”进行原地排序
    利用“小根堆”生成升序数组
    思考题
第05章  查找:来而不往非礼也
  二分查找
    在己排序的数组上
    在平衡二叉搜索树上
  线段树:化繁为简
    构建线段树
    查询子段和
  字典树:字母大接龙
    递推版实现
    递归版实现
  并查集:朋友的朋友是朋友
第06章  图:包罗万象
  图的表达
    邻接列表
    邻接矩阵
    应对向、权、环的变化
    思考题
  图的遍历
    广度优先遍历
    深度优先遍历
    递推版深度优先遍历
    向、权、环对遍历的影响
  顶点的连通性
    有无权重对连通性的影响
    有无向对连通性的影响
    环对连通性的影响
  强连通性组件
    Kosaraju-Sharir算法
  图上的路径
    BFS式路径搜寻
    DFS式路径搜寻
    自底向上式路径搜寻
    回溯式路径搜寻
    获取环路
    思考题
  最短路径
    Dijkstra最短路径算法
    Bellman-Ford最短路径算法
    Floyd-Warshall最短路径算法
  最小生成树
    构建有权无向图
    Prim算法
    Kruskal算法
  最大流:超时空移花接木
    余量边,反向边,余量网络,增益路径
    容量返还
    Ford-Fulkerson算法实现
  最小割:流量的瓶颈
  拓扑排序
    生成入度图与出度图
    理解顶点的入度
    递推实现
    递归实现
    思考题
后记

内容摘要
算法是个有趣的东西——针对某个问题设计算法的时候,不会的人感觉像“大海捞针”,而会的人则感觉像“一苇渡江”。高手的头脑里都有一张“算法地图”,算法之间不是孤立的,而是彼此连通的。算法之间的内在联系有很多,但挖掘到根源上,就是递推与递归两种思想。本书从深度解析递推和递归这两个基本算法思想开始,用它们贯穿起了《算法导论》中的几十个经典算法,包括排序、查找、回溯、贪心、分治、动态规划、图算法等。 本书成稿自作者的教案,秉承了作者一贯的风趣幽默又不失严谨的写作风格,同时融入了学习心理学和认知科学的实践原理。作者的诸多学生在参加完以本书内容为蓝本的集训后进入了微软、脸书、亚马逊、领英、甲骨文等公司,所以本书是经过千锤百炼的一线教学成果。本书适合于所有想通过学习算法来精进自己编程能力的读者。为了倾听读者们的心声、不断完善这本书,作者热切地期待大家与他在领英上建立联系。在那里,作者还将源源不断地与读者们分享种类教学资源和工作机会。

主编推荐

本书特色

OFFER自由之书 聚二十年功力,呈禅意才思、匠心代码 探因由,究所以 递推递归双重实现,打通算法任督二脉 文品其思,码鉴其才 高级码工铁猛老师(Timothy)力作
【内容简介】

精彩内容
    算法是个有趣的东西——针对某个问题设计算法的时候,不会的人感觉像“大海捞针”,而会的人则感觉像“一苇渡江”。高手的头脑里都有一张“算法地图”,算法之间不是孤立的,而是彼此连通的。算法之间的内在联系有很多,但挖掘到根源上,就是递推与递归两种思想。本书从深度解析递推和递归这两个基本算法思想开始,用它们贯穿起了《算法导论》中的几十个经典算法,包括排序、查找、回溯、贪心、分治、动态规划、图算法等。
    本书成稿自作者的教案,秉承了作者一贯的风趣幽默又不失严谨的写作风格,同时融入了学习心理学和认知科学的实践原理。作者的诸多学生在参加完以本书内容为蓝本的集训后进入了微软、脸书、亚马逊、领英、甲骨文等公司,所以本书是经过千锤百炼的一线教学成果。
    本书适合于所有想通过学习算法来精进自己编程能力的读者。为了倾听读者们的心声、不断完善这本书,作者热切地期待大家与他在领英上建立联系。在那里,作者还将源源不断地与读者们分享种类教学资源和工作机会。作者的领英首页是https://www.linkedin.com/in/hexagons/。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP