算法荐书(程序员练功+大众科普)

图灵小编【好久没有在博客中活动了~小编积攒了好多好的书讯迫不及待的要向大家推荐,现在就从算法图书开始吧~其实图灵的算法书不多,但是各有特色,深受读者欢迎,今天就说8本,加1本外卖~】



入门第一书,你一定能看懂

没有枯燥的描述,没有难懂的公式,一切以实际应用为出发点,通过幽默的语言配以可爱的插图来讲解算法。你更像是在阅读一个个轻松的小故事或是在玩一把趣味解谜 游戏,在轻松愉悦中便掌握算法精髓,感受算法之美。

本书中涉及的数据结构有栈、队列、链表、树、并查集、堆和图等;涉及的算法有排序、枚举、 深度和广度优先搜索、图的遍历,当然还有图论中不可以缺少的四种最短路径算法、两种最小生成树算法、 割点与割边算法、二分图的最大匹配算法等。

豆瓣8.1分

“插图和讲解相当到位~~让人看了很感兴趣,把算法用非常形象的方式表达出来,通俗易懂,这下学习算法的朋友有福了。 ”

入门+进阶,经典名著

  • Sedgewick之巨著,与高德纳TAOCP一脉相承
  • 几十年多次修订,经久不衰的畅销书
  • 涵盖所有程序员必须掌握的50种算法

本书作为算法领域经典的参考书,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些Java代码实现采用了模块化的编程风格,读者可以方便地加以改造。本书配套网站提供了书中内容的摘要及更多的代码实现、测试数据、练习、教学课件等资源。

豆瓣9.3分

“这本书也非常牛,用Java实现,我觉得这本书是最适合用来算法入门的,说它适合入门不是说它太浅,而是讲的深入浅出,非常容易理解,里面那些小彩图呀,啧啧,美极了!”

进阶首选,与实际生活最贴近的趣味算法书

算法之大,大到可以囊括宇宙万物的运行规律;算法之小,小到寥寥数行代码即可展现一个神奇的功能。算法的应用和乐趣在生活中无处不在:

  • 历法和二十四节气计算使用的是霍纳法则和求解一元高次方程的牛顿迭代法;
  • 音频播放器跳动的实时频谱背后是离散傅立叶变换算法;
  • DOS时代著名的PCX图像文件格式使用的是简单有效的RLE压缩算法;
  • RSA加密算法的光环之下是朴实的欧几里得算法、蒙哥马利算法和米勒-拉宾算法;
  • 井字棋、黑白棋、五子棋和俄罗斯方块游戏背后是各种有趣的AI算法;
  • 华容道游戏求解的简单穷举算法中还蕴藏着对棋盘状态的哈希算法;
  • 遗传算法神秘不可测,但用遗传算法求解0-1背包问题只用了60多行代码……

一本书带你走进色彩缤纷的算法世界,让你尽享算法的乐趣。

新上市

这本书和常见的算法书不一样,比我想象的有意思:

“全书只在前三章系统介绍了各种算法的逻辑结构,其后章节都是针对具体问题构造算法,一直以为动态规划是多么高大上的方法,经作者的介绍和例子,好像明白了一些。 当初毕业设计做的就是一个俄罗斯方块游戏,但是只能自己玩,没有电脑AI,看了本书才知道俄罗斯方块有那么多有名的算法。”

ACM必读

  • ACM入门详解
  • 顶级高手力作
  • 韩国最棒的算法实战书

本书通过解答编程竞赛中的问题使读者能够学习到各种算法的设计技巧和算法结构,进而能够提高读者的问题解决能力。

新上市

本书在第一章就开门见山地给出了程序设计的目的和意义。通过列举示例使未接触过程序设计竞赛的读者对程序设计有了直观和易懂的了解。作者还列举了程序设计竞赛的题目具有的优势,层次分明,条理性强,简单而不失深度地向读者介绍了通过程序设计竞赛能够获益良多。同时,作者也给出了阅读本书的建议和方法,这样能使读者阅读本书时更有效率。

和大多数介绍算法的书不同,本书还为读者介绍了值得参加的程序设计竞赛,这一点对有兴趣参加竞赛的读者很有帮助。 本书第二章并不像有些介绍算法的书一样开始直接进入算法讲解,而是向读者详细阐述了如何解决问题,通过对解决问题的过程和解决问题的策略两部分内容进行详细介绍,使读者更能理解算法问题的本质是什么,算法问题的解决思路是什么。这些对于学习算法的读者而言是非常重要的,需要从开始就想明白。本书在这方面介绍的非常好,对想要了解和学习算法的读者来说,是一本获益匪浅的好书。

  • 世界顶级程序设计高手的经验总结
  • 【ACM-ICPC全球总冠军】巫泽俊主译
  • 日本ACM-ICPC参赛者人手一册

本书对程序设计竞赛中的基础算法和经典问题进行了汇总,分为准备篇、初级篇、中级篇与高级篇4章。作者结合自己丰富的参赛经验,对严格筛选的110 多道各类试题进行了由浅入深、由易及难的细致讲解,并介绍了许多实用技巧。每章后附有习题,供读者练习,巩固所学。

豆瓣9.0分

“通过这本书,算法竞赛题我入门了。”

通识类3本,各领风骚

今天,算法涉足的领域已经远远超出了其创造者的预期。特别是进入信息时代以后,算法的应用涵盖金融、医疗、法律、体育、娱乐、外交、文化、国家安全等诸多方面,显现出源于人类而又超乎人类的强大威力。本书是《纽约时报》畅销书作者的又一力作,通过一个又一个引人入胜的故事,向读者介绍了算法掌控世界的真实情况,揭示了“机器人革命”是如何悄悄地在我们身边发生的。

豆瓣7.3分

“数学和算法之所以令人爱不释手,在于它们改变世界的无限潜能,可惜多数人看不到这一面。”

假设一名旅行商打算拜访一张城市列表中的所有城市,每座城市只去一次,最后回到出发地。要怎么走才能让路线最短呢?这就是旅行商问题,乍一听很简单,在应用数学界却是一道研究极其热烈的难题,时至今日仍无人能解。本书中,William J. Cook将带领读者踏上一场数学之旅,跟随旅行商的脚步,从19世纪初爱尔兰数学家W. R. Hamilton最初定义该问题开始,一路奔向当今最前沿、最顶尖的解题尝试。

豆瓣8.1分

“关于经典的TSP问题的一切……TSP问题看似简单,特别是在问题规模较小时,最优解似乎是不言自明的,但当问题规模不断扩大,即使是人脑这样的“超大规模并行”的wetware也会立刻感到无所适从、进而“迷茫”。 那最终使我们走出黑暗的、不服输的智慧火花又一次在热烈的燃烧中接力,于是有了最近邻算法、有了贪心算法、有了插入算法、有了Christofides算法、有了LKH算法、有了线性规划算法。”

  • Vint Cerf等众多世界级计算机科学家联袂推荐
  • 《出版人周刊》《科学》等杂志好评如潮
  • 像《时间简史》一样风趣幽默的P/NP问题阐释
  • 关于计算、数学与逻辑的一场盛宴

豆瓣7.4分

“本书涉及了P/NP问题的方方面面,对于这样一本薄薄的册子自然无法太过深入,但是相信读者读过对此问题会有一个宏观的认识。作者已经做得很好。这本书就是一张入场券,带领读者进入这个奇妙的世界。”

当然,说到算法书,还有一本不得不推荐的 

豆瓣9.1分

经典、权威、全面、严谨,唯一的问题是理解起来有点儿难度。

戳左下角【阅读原文】跳转到图灵社区查看《2015图灵图书目录》,【随书下载】中可以下载PDF。小编温馨提醒大家要在WiFi环境下下载~

阅读原文


时间: 2024-09-30 06:08:34

算法荐书(程序员练功+大众科普)的相关文章

由一个简单算法想到的程序员素养问题

题记:五月从帝都回到武汉,旅游半个月后开始找新工作,六月选择了一家华中地区为数不多的移动互联网公司入职至今,略有感触——比较帝都码农与武汉码农的平均水平,就跟两个城市的经济发展水平差异一样大,不是说武汉这边没有优秀的程序员(我也算半个嘛),而是说平均水平确实不如其他一线城市.想想也正常,巨头公司都扎堆北上广深,以极具竞争力的薪酬福利和巨头光环吸引着广大程序员,反观武汉的互联网发展尚处在初级阶段,无论从公司规模.名气还是最实际的薪酬福利方面均不如一线城市,自然无法吸引广大程序员咯.本人在新公司待了

图灵书单——程序员的算法

小编跟着图灵听课去(4月)参加了很多线下的会议,再次深深体会到算法很重要,因为不管是什么技术主题的大会,人们都会找算法的书.现在小编就来盘点一下图灵新出版的算法书,推荐给大家. 1.<程序员的数学>第3弹--线性代数 作者:[日] 平岡和幸,[日] 堀玄 译者:卢晓南 定价:79 页数:384 ● 机器学习.数据挖掘.模式识别必备基础知识 ● 从入门到应用,透彻理解线性代数的本质 <程序员的数学3:线性代数>沿袭"程序员的数学"系列平易近人的风格,用通俗的语言和

程序员是否必须会算法

本章的标题既然是"程序员与算法",就必然要涉及一个基本问题,那就是"程序员是否必须会算法".这是一个充满争议的问题,虽然并不像"生存还是毁灭"之类的选择那样艰难而沉重,但也绝不是一个轻松的话题.朋友们在我的"算法系列"博客专栏上发表的评论和回复,并不都是我所期待的赞美和鼓励,也常常会有一些冷言冷语.比如,"穷举也算是算法吗"或者"请你说明一下算法在XX系统中能起到什么作用". 有一次,一

iOS 程序员必须掌握的核心算法有哪些?

由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?, 说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法.这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍.下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过不错的文章给大家.大家也可以留言区补充. 一.算法最最基础 1.时间复杂度 2.空间复杂度 一般最

受康奈尔笔记法启发设计的程序员算法手写本

大多数程序员都习惯了平时在电脑上敲代码,但也有些情境要求我们手写代码,比如平时学习时做纸质笔记,完成老师布置的课程作业,同事之间交流讨论讲解思路,ACM比赛时手写分析算法,还有最常见的面试手写算法等.昨天看了康奈尔笔记法,觉得有点意思,于是想着把它应用到程序员的圈子里来,可以在面试等场合很好的向面试官阐述算法思路同时规范书写,希望能给大家带来一些帮助. 一.什么是康奈尔笔记法 图1.康奈尔笔记法 5R笔记法,又叫做康奈尔笔记法,是用产生这种笔记法的大学校名命名的.这一方法几乎适用于一切讲授或阅读

十大编程算法助程序员走上大神之路

概述:编程算法,是完成程序逻辑的主要途径.本文推荐十大编程算法,有利于程序员的编程逻辑. 算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要Ο(n log n)次比较.在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见.事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来. 快速排序使用分治法(Divide and conquer)策略来把一个串行(lis

程序员必看的书(九)

程序员的必看的书已经更新到第九章了,想必大家也都烦了,不过还是有人喜欢的,再次声明我推荐的这些书有些没有看过,不过这些书都是不错的,根据豆瓣评分,以及朋友的阅读都说可以看. 在这里希望可以帮助一些人想看技术书,不知道怎么看的程序员们.再次请大家多多支持,如果大家也有不错的书推荐,也可以投稿.谢谢大家.对了IT江湖iOS客户端上线了,大家可以去Appstore下载,项目开源地址请看文章下方. 计算机程序的构造和解释 本书1984年出版,成型于美国麻省理工学院(MIT)多年使用的一本教材,1996年

论程序员的成长

<论程序员的成长> Athson | 2015-04-04 ~ 2015-04-17 原文地址: http://blog.athson.wang/?p=45   知识共享许可协议文本:简体中文版本著作由Athson.Athson Wang.鹏澍原创,以 CC 署名-非商业使用-禁止演绎 (by-nc-nd) 授权条款 执行公开许可.此作品衍生自http://blog.athson.wang/. 论程序员的成长 Athson | 2015-04-04 ~ 2015-04-17 中国程序员的个人成

《程序员修炼之道:从小工到专家》读书笔记

<程序员修炼之道>读书笔记 之所以选择这本书作为第一本书,是因为这本书描述了一些程序员编写大型项目时所应该遵循的最基本的原则和可以使用的最基本的工具.它没有描述某一种特定的语言.特定的算法,也没有推荐一种编程方法作为万灵药,而是介绍了实用主义的思想,并介绍了一整套方法论帮助程序员与团体避免错误.避免浪费无谓的时间,更有效地开发程序. 在此前的学习中,我所学习的知识往往是一个个点状的知识.学校安排了c语言.数据结构等课程,我自学过一点点cpp.python,甚至了解过一些web架构,但从来没有一