算法最开始是数学概念,我国古代称之为“术”,最早出现在《周髀算经》和《九章算术》中。而现代计算机中的算法的定义,则是在阿朗佐·丘奇 和他的学生艾伦·图灵的丘奇-图灵论文基础上建立的。
在脱离实践应用的时候,算法和“术”都是比较枯燥且难以理解的,所以大多数人学算法的时候都希望教程、书籍可以更有效地消除算法与实际问题之间的沟壑,从而真正地理解算法,并且知道如何选择、设计算法来解决问题。
小异这次就挑选了几本很好处理了这个问题的算法好书,其中的示例有的来自真实业务项目、有的来自有趣故事、有的来自经典题例、有的来自顶尖科技企业面试、有的来自奇妙的大自然,都把算法落实到了问题上。
不同层次和需求的读者,都能找到适合自己的算法书,去理解算法思想,解决实际问题。
01
计算之魂
豆瓣评分9.3!用世界顶尖科技企业面试题来锻炼自己的计算思维。
吴军老师总结了信息技术行业的发展铁律:对计算机科学的掌握程度,决定了一个计算机行业从业者能走多远。
在这本书中,他用不同层次的解决思路和方法详细阐述了每道题目背后的计算机科学精髓,帮读者充分理解题目和算法之外,更理解企业通过面试题想要了解面试者的何种能力和特质。
通过学习本书,读者不仅能掌握坚实的算法知识,也能更深层次地了解计算机科学、认识信息技术产业的技术特点,从而掌握进阶自身的筹码。
021
趣学算法(第2版)
简单,简单,更简单!这就是作者写《趣学算法》的初衷。
本书是通过趣味故事引出算法问题,然后分析算法本质、并给出代码实现的详细过程和运行结果。对新手来说,不用去看高深的原理,不用去解枯燥的数学公式,就是优先选择了。
正是因为面向真正的新手,本书从示例到代码、从图示到问题描述,都是最大程度上的简洁、通俗易懂,初中生都能毫无压力地读懂算法。
对新手来说,从实践中认识算法是更直接且高效的方法,本书作为新手算法入门是一个不错的选择。
03
编程珠玑 第2版
豆瓣评分9.1,这是一本真正的计算机科学经典名著,激励了无数程序员。
作为影响算法发展的十位大师之一乔恩·本特利围绕性能问题,在本书中讨论了计算机科学本质问题:如何正确地选择和高效地实现算法。
本书最大的特点就是精悍且深邃,作者使用有趣的案例来描述算法本质,而不是代码实现,意在让读者充分理解解决问题的思想。所以如书名所言,其中内容字字珠玑,寥寥数语就道尽算法的使用场景、技术解析和应用扩展。
本书适合有一定基础的读者阅读,通过反复阅读认真体会大师的编程思想,化为己用而达到算法进阶。
04
编程珠玑 续
这是《编程珠玑》的姊妹篇,起于算法而不止讲算法。
本书除了讲绝妙的取样算法、数值算法、选择算法之外,主要讲解了一些作者自己总结的编程中的使用技巧,比如关联数组、监控性能、估算等。每一个部分,他都对问题进行了清晰而简洁的描述,然后对其进行分析,给出解决思路、方法,并解释其原理。
作者针对书中提到的问题都设计了有趣而具指导意义的程序,并阐述了这些程序设计的原则与技巧,能够有效帮助读者提升开发能力。
05
算法设计
豆瓣评分9.3!本书凝练了康奈尔大学多年来在算法教学上的积累,是诸多名校都在使用的经典教材。
本书侧重算法的设计思路,每一个章节都是从实际问题出发,然后对问题进行具体的分析引出相应的算法设计思想,并对其正确性和复杂性进行合理的论证。
这种把算法理论与实际问题结合起来的方式,能够更有效地帮助读者认识算法的原理,并更快地掌握算法在实际编程中的应用,面试算法题简直手到擒来。
书中200多个习题,都是在历次算法课堂上经过无数学生讨论过的,充分体现了算法在各个领域中的应用与实现,读者可以通过练习题,循序渐进地巩固、加深对算法的认识。
061
数据结构与算法之美
小争哥认为算法学习同样应该从实际应用中进行,枯燥的原理和公式会严重打消读者的学习积极性。
所以在本书中他用100多个真实的案例、300多张易懂的手绘图,对20个经典数据结构和算法进行了充分的剖析讲解。通过对问题本身的认识,读者可以更深刻地理解在什么场景下选择什么的数据结构和算法,从而满足实际的开发需求。
使用这本与应用场景强相关的书学习算法,能够让读者快速掌握算法知识点的同时,强化其开发能力,在应对业务问题与算法面试时能够从容不迫。
06
人工智能算法 卷3 深度学习和神经网络
深度学习和卷积正将神经网络带入一个全新的方向!
本书是深度学习和神经网络算法专题,演示了各种现实世界任务中的神经网络,例如图像识别和数据科学。我们研究了当前的神经网络技术,包括ReLU 激活、随机梯度下降、交叉熵、正则化、Dropout 及可视化等。
书中的示例适配多种编程语言,所以读者不会因没掌握某种特定语言而形成阅读障碍。同时书中会介绍必要的微积分、线性代数、微分方程与统计学等公式,读者也无须有相关知识储备。
当然,有大学代数水平基础数学知识是非常有必要的。
07
人工智能算法 卷2 受大自然启发的算法
大自然是人工智能算法的重要灵感来源。
本书主要介绍遗传算法、蚁群优化和粒子群优化等算法,而这些算法的灵感都是来自大自然的基因、蚂蚁、鸟类等事物。当然,书中对这些算法的应用介绍也是重要的内容。
书中所有算法讲解都用到了具体的数值,所以计算的时候更为具体,减少了抽象,理解难度大大降低。
书中示例代码同样有多种语言的实现,并且都通过了验证,可以正常运行。
08
人工智能算法 卷1 基础算法
算法是人工智能技术的核心。
本书主要围绕维度法、距离度量算法、K 均值聚类算法、误差计算、 爬山算法、模拟退火算法、Nelder-Mead 算法和线性回归算法等基础算法展开讲解。
如果你想入门人工智能,或者对人工智能算法感兴趣,这本书是一个不错的选择。而且书中所有代码都有多种语言的实现,读者可以选择自己熟悉的语言代码,来更直接地理解算法实现。
每个示例中都应用了具体的数值,读者可以自行尝试计算运行,体验神奇的算法。
09
百面机器学习 算法工程师带你去面试
机器学习岗位面试常见算法全解!
本书收集了超过100道机器学习的题目,它们大部分在近年算法工程师的笔试、面试中出现过,作者试图从实际应用出发,给出详细的解答,打通从理论到应用的障碍。
作为机器学习初学者,可以根据书中刷题指南,循序渐进地一个个把机器学习算法问题全搞定,轻松应对大厂面试。如果读者是机器学习从业者,也能根据自己的业务要求,结合实际开发场景,扩展于都深入研究,精进技术成为专家。
如果读者是技术管理人员,可以构建机器学习的技术体系,确定合适的项目解决方案,同时也能作为面试宝典用来寻找合适的技术人才。
10
百面深度学习 算法工程师带你去面试
一书搞定深度学习岗位面试常见算法!
深知多数人觉得算法难的原因是在于算法与实际问题很多时候并不易发生联系,所以诸葛越与30多位算法研究员和工程师共同努力,收集了大量深度学习算法和应用两部分的面试问题与真实案例,让读者可以直接地体验深度学习算法在实际项目中的应用情况。
本书是《百面机器学习:算法工程师带你去面试》的延伸,专注深度学习专题,同样是一本该方向的面试宝典。