一份程序员必备的经典算法书单

点击关注 异步图书,置顶公众号

每天与你分享 IT好书 技术干货 职场知识

参与文末话题讨论,每日赠送异步图书

——异步小编

当我们在工作中使用算法时,通常都是希望能更有效地解决问题、使程序运行得更快,并且让解决方案变得更为简短。但实际情况如何呢?我们获得所需要的效率、速度和简洁性了吗?为什么人们在使用Python这种语言时依然要在乎这些事呢?选择这种语言对于追求高速度的人来说是一个好的开端吗?为什么不选择C或Java这样的语言呢?

首先,可能是因为Python语言本身很讨人喜欢,以至于人们不想换别的语言,或者他们目前也没有更好的选择。但最为重要的可能还是第二点,即在这里,算法设计者们首先要担心的并不是常数级别的性能差异。即便相关程序完成任务所需要的时间是另一程序的两倍,甚至十倍,但这样的速度可能依然是够快的。况且,那个较慢的程序中可能恰好有某些我们所需要的特性,如它可能有更好的可读性。而调整和优化程序在很多时候会非常费劲,其代价是不容小视的。然而,无论选择什么语言,我们都得考虑一下程序自身的弹性问题。也就是说,如果我们将程序的输入量翻倍,会发生什么呢?程序运行时间会是之前的两倍?四倍?还是更多?或者即便增加那么一丁点的输入量也会导致程序运行时间的成倍增长?当您遇到的问题足够大的时候,这样的性能差异显然就不能再靠简单的语言选择或硬件选择来解决了。在面对一个“足够大”的问题时,我们能抑制运行时间增长的主要武器就只有——您猜对了——一份扎实的算法设计功底了。

今天小编带来了一份诚意算法书单。

《趣学算法》

陈小玉 著

点击封面购买纸书

本书从算法之美娓娓道来,没有高深的原理,也没有枯燥的公式,通过趣味故事引出算法问题,包含50多个实例及完美图解,结合学生提问,分析算法本质,并给出代码实现的详细过程和运行结果。

本书可作为程序员的学习用书,也适合从未有过编程经验但又对算法有强烈兴趣的初学者使用,同时也可作为高等院校计算机、数学及相关专业的师生用书和培训学校的教材。

《算法学习与应用从入门到精通》

张玲玲 著

点击封面购买纸书

本书的特色是实现了入门知识、实例演示、范例演练、技术解惑、综合实战5大部分内容的融合,让读者看得懂、用得上、学得会。

一本书的容量,讲解了入门类、范例类和项目实战类三类图书的内容。丰富的配套资源 ,学习更高效。

320个实例,更多的实践演练机会753分钟视频讲解,降低学习难度5个综合案例,项目实战演练74个技术解惑,破解学习难点“技术讲解”→范例演练”→“技术解惑”贯穿全书,全面掌握算法应用技术讲解:通过320个实例,循序渐进地讲解了算法应用的各个知识点。范例演练: 5个综合实例,使读者具有应用算法解决实际项目的能力。技术解惑:把容易混淆的概念单独讲解和剖析,帮助读者绕过学习中的陷阱。

《文本上的算法——深入浅出自然语言处理 》

路彦雄 著

点击封面购买纸书

微信整合搜索算法组组长路彦雄全新作品,深入浅出讲解自然语言处理和机器学习技术,微博总阅读量超30万次。

本书结合作者多年学习和从事自然语言处理相关工作的经验,力图用生动形象的方式深入浅出地介绍自然语言处理的理论、方法和技术。本书抛弃掉繁琐的证明,提取出算法的核心,帮助读者尽快地掌握自然语言处理所必备的知识和技能。本书适合从事自然语言处理相关研究和工作的读者参考,尤其适合想要了解和掌握机器学习或者自然语言处理技术的读者阅读。

《算法谜题》

【美】Anany Levitin 著

点击封面购买纸书

算法是计算机科学领域最重要的基石之一。算法谜题,就是能够直接或间接地采用算法来加以解决的谜题。求解算法谜题是培养和锻炼算法思维能力一种最有效和最有乐趣的途径。

本书是一本经典算法谜题的合集。本书包括了一些古已有之的谜题,数学和计算机科学有一部分知识就发源于此。本书中还有一些较新的谜题,其中有一部分谜题被用作知名IT企业的面试题。全书可分为4个部分,分别是概览、谜题、提示和答案。概览介绍了算法设计的通用策略和算法分析的技术,还附带有不少的实例。谜题部分将谜题按照简单、中等难度和较难三个层级分别列出。提示部分依次给出谜题提示,帮助读者找到正确的解题方向,同时仍然为读者留下了独立求解的空间。答案部分则给出了谜题的详细解答。

《编程之法:面试和算法心得》

July 著

点击封面购买纸书

    -蜕变于CSDN技术博客“结构之法算法之道”

  -内容涉及面试、算法、机器学习三大主题 

 -作者数年的积累成果

  -进入IT行业求职笔试和面试宝典

本书涉及面试、算法、机器学习三个主题。书中的每道编程题目都给出了多种思路、多种解法,不断优化、逐层递进。第1章至第6章分别阐述字符串、数组、树、查找、动态规划、海量数据处理等相关的编程面试题和算法,第7章介绍机器学习的两个算法—K近邻和SVM。

此外,每一章都有“举一反三”和“习题”,以便读者及时运用所学的方法解决相似的问题,且在附录中收录了语言、链表、概率等其他题型。书中的每一道题都是面试的高频题目,反复出现在近5年各大公司的笔试和面试中,对面试备考有着极强的参考价值。

《Python核心编程(第3版)》

【美】Wesley Chun(卫斯理 春)著

点击封面购买纸书

畅销经典的Python书,兼顾Python2和Python3,Python开发人员的案头常备

Python是一种灵活、可靠且具有表现力的编程语言,它将编译语言的强大与脚本语言的简洁性、快速开发特性整合起来。在本书中,Python开发人员兼企业培训师Wesley Chun会帮助您将Python技能提升到更高的水平。  

本书涵盖了成为一名技术全面的Python开发人员所需的一切内容。本书讲解了应用开发相关的多个领域,而且书中的内容可以立即应用到项目开发中。此外,本书还包含了一些使用Python 2和Python 3编写的代码案例,以及一些代码移植技巧。有些代码片段甚至无须修改就可以运行在Python 2.x或Python 3.x上。

《Python程序设计(第3版)》

【美】John Zelle(策勒)著

点击封面购买纸书

Python之父作序推荐 ,Python 3 编程入门经典。本书以Python语言为工具教授计算机程序设计。本书强调解决问题、设计和编程是计算机科学的核心技能。本书特色鲜明、示例生动有趣、内容易读易学,适合Python入门程序员阅读,也适合高校计算机专业的教师和学生参考。

《数据结构 Python语言描述》

【美】Kenneth A. Lambert(兰伯特) 著

点击封面购买纸书

在计算机科学中,数据结构是一门进阶性课程,概念抽象,难度较大。Python语言的语法简单,交互性强。用Python来讲解数据结构等主题,比C语言等实现起来更为容易,更为清晰。

《Python编程快速上手 让繁琐工作自动化》

【美】Al Sweigart(斯维加特) 著

点击封面购买纸书

Python3编程从入门到实践,新手学习必备用书。美亚畅销Python编程入门书。

本书快速教读者掌握Python这一对初学者友好的语言。书中包含了很多实用的示例,供读者学习和联系。通过本书,可以学会解决很多实际的任务和需求,包括在一个或多个文件中搜索文本模式、通过创建修改移动和重命名文件和文件夹来组织计算机、抓取数据和信息、更新Excel表格、自动发送邮件和文本消息、组织计算机执行周期性任务等等。

《Python机器学习——预测分析核心算法》

【美】Michael Bowles(鲍尔斯) 著

点击封面购买纸书

在学习和研究机器学习的时候,面临令人眼花缭乱的算法,机器学习新手往往会不知 所措。本书从算法和Python 语言实现的角度,帮助读者认识机器学习。

本书专注于两类核心的“算法族”,即惩罚线性回归和集成方法,并通过代码实例来 展示所讨论的算法的使用原则。全书共分为7 章,详细讨论了预测模型的两类核心算法、预测模型的构建、惩罚线性回归和集成方法的具体应用和实现。 本书主要针对想提高机器学习技能的Python 开发人员,帮助他们解决某一特定的项 目或是提升相关的技能。

《Python算法教程》

【挪威】Magnus Lie Hetland(赫特兰) 著

点击封面购买纸书

畅销书Python基础教程(第2版)作者、Python领域大牛又一新力作!知识点清晰,语言简洁。本书用Python语言来讲解算法的分析和设计,主要关注经典的算法,帮助读者理解基本算法问题和解决问题打下很好的基础。蕴含大量课后习题和参考资料。

《Python机器学习实践指南》

【美】Alexander T. Combs 著

点击封面购买纸书

机器学习是近年来渐趋热门的一个领域,同时Python 语言经过一段时间的发展也已逐渐成为主流的编程语言之一。

本书结合了机器学习和Python 语言两个热门的领域,通过利用两种核心的机器学习算法来将Python 语言在数据分析方面的优势发挥到极致。 全书共有10 章。第1 章讲解了Python 机器学习的生态系统,剩余9 章介绍了众多与机器学习相关的算法,包括各类分类算法、数据可视化技术、推荐引擎等,主要包括机器学习在公寓、机票、IPO 市场、新闻源、内容推广、股票市场、图像、聊天机器人和推荐引擎等方面的应用。 本书适合Python 程序员、数据分析人员、对算法感兴趣的读者、机器学习领域的从业人员及科研人员阅读。

《神经网络算法与实现——基于Java语言》

Alan M.F. Souza(艾伦)著

点击封面购买纸书

神经网络已成为从大量原始的,看似无关的数据中提取有用知识的强大技术。 Java语言是用于实现神经网络的最合适的工具之一,也是现阶段非常流行的编程语言之一,包含多种有助于开发的API和包,具有“一次编写,随处运行”的可移植性。

本书完整地演示了使用Java开发神经网络的过程,既有非常基础的实例也有高级实例。首先,你将学习神经网络的基础知识、感知机及其特征。 然后,你将使用学到的概念来实现自组织映射网络。 此外,你还会了解一些应用,如天气预报、疾病诊断、客户特征分析和光学字符识别(OCR)等。 最后,你将学习实时优化和自适应神经网络的方法。

今日话题

说说你是怎么入行的,对即将入门小白有哪些建议?截止时间3月27日17时,留言+转发本活动到朋友圈,小编将选出1名读者赠送异步新书一本。点击此处直接参与活动

延伸推荐

2018年2月新书

2018年1月重磅新书

小学生开始学Python,最接近AI的编程语言:安利一波Python书单

政策升温:大家都在学大数据,一大波好书推荐

8本新书,送出一本你喜欢的

AI经典书单| 入门人工智能该读哪些书?

长按二维码,可以关注我们哟

每天与你分享IT好文。

在“异步图书”后台回复“关注”,即可免费获得2000门在线视频课程;推荐朋友关注根据提示获取赠书链接,免费得异步图书一本。赶紧来参加哦!

扫一扫上方二维码,回复“关注”参与活动!

点击下方阅读原文,购买《文本上的算法:深入浅出自然语言处理》

阅读原文

原文地址:http://blog.51cto.com/13127751/2091786

时间: 2024-10-07 04:00:12

一份程序员必备的经典算法书单的相关文章

腾讯t4架构推荐:一份程序员必备的结构算法算法之道!

引言 "语言只是工具,算法才是程序的灵魂."这句话相信每一个程序员都听过无数次.然而在实际的工作中,一个产品从开发到上线,似乎哪一步都用不到数据结构与算法.于是很多程序员都有这样一种错觉:就算我不懂算法,只要语言写得溜.开发框架用得熟练.封装好的各种接口.库调用得熟练,照样能实现老板“天马行空”(傻逼)的需求,照样可以混到高薪.算法的学习,别人帮不了你多少,主要还是的靠自己悟,靠自己花时间去理解,师傅领进门,修行在个人,算法讨论,思路分享,去牛客网看看,各路大神,各种解决思路,你一定会

<转载> 优秀程序员必备的24条好习惯

<转载> 优秀程序员必备的24条好习惯 转自 优秀程序员必备的23条好习惯 ,But add some my comments of TerryXia in Green. 编程是一项聪明人玩的游戏,它既是对智力的考验,也是对习惯的考验,智力的好坏取决于父母的基因,人们无从左右,但习惯的好坏却是可以不断培养.一项由美国芝加哥大学国家研究组织进行的综合社会调查,公布了“十大最痛苦工作”排行榜,其中IT主管成了最让人痛苦的职业.程序员如何才能让自己的“痛苦”的职业不那么痛苦呢? 世间少有天才,所谓天

程序员必备网站

不知道为什么,被管理员移出了首页,看来管理员觉得我的字太少了,或者觉得我有打广告的嫌疑, 不过这些网址全是干货,有很多我觉得非常珍贵,不是你随便就可以找到的,是我几年保存的, 写代码可能随手就用,需要的保存欧. 顺便也吐槽一下发布博客园首页的规则,完全靠手工审核,真的觉得有些问题,前段时间也看到有 小伙伴在吐槽,还提了很多有建设性的意见,希望可以考虑,采用一些算法来实现. 1 apue的详细介绍,包含了相关内容并且还有代码实现,一个后台程序员的宝典 http://infohost.nmt.edu

程序员必备免费电子书下载网站

程序员必备免费电子书下载网站作为开发者,多多少少都会看些技术书籍,许多经典的技术书籍作者都是国外的,等到中文翻译版出来很多书籍可能已经不适用了,购买原版书籍,价格又太高,因此知道一些免费的图书下载网站是非常重要的,下面就和大家分享一下免费的电子书下载网站以下都是一些国外网站的分享,如果你还知道其他的一些免费电子书下载网站也可以和大家一起分享. 目录:一.国外电子书免费下载网站二.国内电子书免费下载网站(未归总!) 一.国外电子书免费下载网站:1.谷歌图书搜索相信没有人不知道谷歌图书,这个网站有很

程序员必备-创建js库

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">牛腩Javascript中讲解的Jav

程序员必备简捷开发辅助工具总结

程序员必备简捷开发辅助工具总结 本文独家授权给stormzhang运营的公众号AndroidDeveloper,拒绝其他任何形式的转载. 写在前面: 工欲善其事必先利其器,拥有简捷的开发辅助工具能大大提高我们程序猿的开发效率.Melo刚到学校就给大家总结了一些常用的辅助开发的工具,希望大家能喜欢,闲话不多说,马上开始~! 零:Notepad++ Notepad++ 程序员必备的文本编辑器,软件小巧高效,支持27种编程语言,通吃C,C++ ,Java ,C#, XML, HTML, PHP,JS

Java程序员必备的 15框开发工具

15款Java程序员必备的开发工具 如果你是一名Web开发人员,那么用膝盖想也知道你的职业生涯大部分将使用Java而度过.这是一款商业级的编程语言,我们没有办法不接触它. 对于Java,有两种截然不同的观点:一种认为Java是最简单功能最强大的编程语言之一,另一种则表示这种编程语言既难用又复杂. 下面这些工具或许功能和作用不同,但是有着一个共同的主旨,那就是——它们都是为了给Java编码和开发提供卓越的支持. 1. JDK(Java开发工具包) 如果你打算用Java开发一些小程序和应用程序,那么

程序员必备技能

1.分享 尽可能地使用开源,并且如果有能力的话也可以把自己的成果分享给大家.整个社会的智慧结晶肯定比一些大公司自管自闭门造车要好. 2.公平的心态 不要以为你的选择就是唯一能奏效的,试试其他技术.框架.方法和建议,也许其他的选择比你原先的好也未可知.要用开放的心态去对待任何方法和抉择. 3.不可攻击他人 如第2条所言,不要因为别人恰巧使用的是.Net.Java或PHP这些技术就随意攻击他们(我在这方面有过教训).有时,这些你看不上眼的技术或许要比你想象的更有用.只要你怀着一种平和的心态,你就可以

程序员必备英语.net版(.net菜鸟的成长之路-零基础到精通)

通过一段时间的.NET学习,我发现英文不好是我的软肋~我觉得好好补习一下英文单词水平.可是要背哪些单词呢? 经过一段时间的整理,终于整理出来了一套比较完整的.NET程序员必备单词文档.单词加详细说明.现在分享给大家~希望能给大家帮助~~~!下面是word截图.为了方便阅读我已经给制作成了PDF. 下载地址:http://yunpan.cn/cd6JQeLZfxS7A  访问密码 52cb