算法能力的考察,向来是顶级科研机构和IT公司面试时最具有区分度的成分,算法功夫扎实,提高面试效率。程序员
算法长期以来被视做是聪明人的专利,好像有些人天生思路就开阔,遇到问题能立刻整理出计算模型,而后实施巧思,而大多数人则只能望洋兴叹,束手无策。面试
这种想法其实也不无道理,从小接受系统化训练,参加过信息学竞赛或ACM,确定会对算法问题反应更快一些。但是这样的人毕竟是极少数,并且即便是他们,也无一不是长期大量地训练才会不断进步。这至少说明,算法并不是天外之学,而是一种可以经过训练掌握的技能。换言之,对于5%的真正难题,也许真的是只为5%的天才而存在的。可是其他的95%,倒是95%像你我同样的普通人自学能够达成的目标。算法
提高算法能力,小编带来了一份高效书单。编程
算法详解(卷1)——算法基础数组
这本书在美亚评分4.7,在做者倍受欢迎在线算法课程的基础之上编写的,是四卷本系列的第1卷。这个在线课程2012年起就按期更新,它创建在做者在斯坦福大学教授多年的本科课程的基础之上。也许你有所耳闻,这本书就是《算法详解(卷1)——算法基础》。若是你更喜欢听和看,能够在YouTobe上搜索这本书的主题课程,免费观看。网络
《算法详解(卷1)——算法基础》做者蒂姆·拉夫加登(Tim Roughgarden)是斯坦福大学计算机科学系的教授,也是该校管理科学和工程系的客座教授,他从2004年开始教授和研究算法。本书是他的《算法详解》四部曲的第一卷。机器学习
这本书详细讲解算法基础,展示算法本质 ,是一本囊括基本算法知识的详解指南。集斯坦福大学教授多年教学经验,深刻浅出,通俗易懂。 编程语言
趣学算法分布式
本书从算法之美娓娓道来,没有高深的原理,也没有枯燥的公式,经过趣味故事引出算法问题,包含50多个实例及完美图解,结合学生提问,分析算法本质,并给出代码实现的详细过程和运行结果。这本书适合入门,中学生以上学历,都适合入门。工具
算法谜题
Anany Levitin和Maria Levitin编写的《算法谜题》一书,实在是使人眼前一亮。说实在的,我本人已经多年没有在这个领域里面见到有这么实用并且好看的做品了。本书的写做目的就是教你使用算法来解题,但它的定位却极其精准:它既不作数学演算,也不写具体代码,它只讲算法。
趣题学算法
一本有趣的、易学的、实用的,帮助读者快速入门应用的算法书;问题驱动,本书由80多个计算问题分门别类,串联而成。
Python算法教程
本书做者是畅销书Python基础教程(第2版)的做者,在Python领域很有知名度和权威性。
本书用Python语言来说解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。
Java遗传算法编程
本书简单、直接地介绍了遗传算法,而且针对所讨论的示例问题,给出了Java代码的算法实现。全书共分为6章。第 1章简单介绍了人工智能和生物进化的知识背景,这也是遗传算法的历史知识背景。第 2章给出了一个基本遗传算法的实现;第4章和第5章,分别针对机器人控制器、旅行商问题、排课问题展开分析和讨论,并给出了算法实现。在这些章的末尾,还给出了一些练习供读者深刻学习和实践。第6章专门讨论了各类算法的优化问题。
百面机器学习 算法工程师带你去面试
书中收录了超过100道机器学习算法工程师的面试题目和解答,其中大部分源于Hulu算法研究岗位的真实场景。本书从平常工做、生活中各类有趣的现象出发,不只囊括了机器学习的基本知识,并且还包含了成为出众算法工程师的相关技能,更重要的是凝聚了笔者对人工智能领域的一颗热忱之心,旨在培养读者发现问题、解决问题、扩展问题的能力,创建对机器学习的热爱,共绘人工智能世界的宏伟蓝图。
“不积跬步,无以致千里”,本书将从特征工程、模型评估、降维等经典机器学习领域出发,构建一个算法工程师必-备的知识体系;见神经网络、强化学习、生成对抗网络等新科研进展之微,知深度学习领域胜败兴衰之著;“博观而约取,厚积而薄发”,在末一章为读者展现生活中各类引领时代的人工智能应用。
编程之法:面试和算法心得
《编程之法:面试和算法心得》涉及面试、算法、机器学习三个主题。书中的每道编程题目都给出了多种思路、多种解法,不断优化、逐层递进。本书第 1章到第6章分别阐述字符串、数组、树、查找、动态规划、海量数据处理等相关的编程面试题和算法,第7章介绍机器学习的两个算法—K近邻和SVM。
此外,《编程之法:面试和算法心得》每一章都有“触类旁通”和“习题”,以便读者及时运用所学的方法解决类似的问题,且在附录中收录了语言、链表、几率等其余题型。书中的每一道题都是面试的高频题目,反复出如今近5年各大公司的笔试和面试中,对面试备考有着极强的参考价值。
编程珠玑(续)(修订版)
● 历史上伟大的计算机科学著做之一
● 融深邃思想、实战技术与趣味轶事于一炉的奇书
● 带你真正领略计算机科学之美
多年以来,当程序员们推选出心爱的计算机图书时,《编程珠玑》老是位于前列。正如天然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师JonBentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通信》历史上受欢迎的专栏,结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工做者。本书为首卷,主要讨论计算机科学中本质的问题:如何正确选择和高效地实现算法。
在书中,做者选取许多具备典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不只有趣,并且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。
编程珠玑(第2版•修订版)
《编程珠玑(第 2版·修订版)》是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。做者JonBentley以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中到关重要的。本书的特点是经过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。《编程珠玑(第 2版·修订版)》对各个层次的程序员都具备很高的阅读价值。
Python机器学习——预测分析核心算法
在学习和研究机器学习的时候,面临使人眼花缭乱的算法,机器学习新手每每会不知所措。本书从算法和Python 语言实现的角度,帮助读者认识机器学习。
本书专一于两类核心的“算法族”,即惩罚线性回归和集成方法,并经过代码实例来展现所讨论的算法的使用原则。全书共分为7 章,详细讨论了预测模型的两类核心算法、预测模型的构建、惩罚线性回归和集成方法的具体应用和实现。
神经网络算法与实现——基于Java语言
人工神经网络是由众多链接权值可调的神经元链接而成,具备大规模并行处理、分布式信息存储、良好的自组织自学习能力等特色,可以完成模式识别、机器学习以及预测趋势等任务。
本书经过9章内容,并结合Java编程语言,由浅入深地介绍了神经网络算法的应用。书中涉及神经网络的构建、神经网络的结构、神经网络的学习、感知机、自组织映射等核心概念,并将天气预测、疾病诊断、客户特征聚类、模式识别、神经网络优化与自适应等经典案例囊括其中。本书在附录中详细地指导读者进行开发环境的配置,帮助读者更加顺利地进行程序开发。
文本上的算法——深刻浅出天然语言处理
● 深刻浅出讲解天然语言处理和机器学习技术 。
● 广受读者好评的技术读物,微博总阅读量超过30万次 。
天然语言处理是研究人机之间用天然语言通讯的理论和方法,是人工智能领域的一个重要分支,有着很是普遍的应用空间。
本书结合做者多年学习和从事天然语言处理相关工做的经验,力图用生动形象的方式深刻浅出地介绍天然语言处理的理论、方法和技术。本书抛弃繁琐的证实,提取出算法的核心,帮助读者尽快地掌握天然语言处理所必备的知识和技能。
机器学习经典算法剖析——基于OpenCV
OpenCV算法精解,机器学习算法必备,十大算法全涵盖,夯实机器学习数学基础。
本书首先对正态贝叶斯分类器、K近邻算法、支持向量机、决策树、AdaBoost、梯度提高树、随机森林、极端随机树、指望极大值、神经网络这十大经典的机器学习算法进行具体的原理分析,而后给出OpenCV的相关源码的逐句解释,最后完成一个基于OpenCV的应用实例。相信读者经过这3个步骤的学习,足以实现对算法理解的目的。
图像局部特征检测和描述:基于OpenCV源码分析的算法与实现
在计算机视觉处理中,特征指的是可以解决某种特定任务的信息。图像局部特征在目标识别、目标跟踪、目标匹配、三维重建、图像检索等应用中发挥着重要的做用。它是近20年来在计算机视觉领域中研究的热点问题之一。
本书以OpenCV 2.4.9为研究工具,对其实现的全部最新的特征检测和描述算法—Kitchen-Rosenfeld、Canny、Harris、Shi-Tomasi、FAST、MSER、MSCR、SIFT、SURF、BRISK、BRIEF、ORB、FREAK、CenSurE、SimpleBlob等,不只详细分析了它们的原理和实现方法,还进行了详细的源码解析,而且给出了具体的程序实现范例,充分体现了理论与实践相结合的特色。