“算法到底应该怎么学?”
“程序员必须掌握哪些算法?”
“大公司笔试、面试都有哪些经典算法题目?”
这一系列在知乎上受到关注众多的算法提问,一方面反映出大家学习算法的热情非凡,另一方面也看得出大家苦于没有系统的学习路径,不知道什么阶段应该做什么。好的算法就像魔法一样,可以把一件需要耗费数小时甚至数天完成的事情变为几秒钟的事情,大大提高工作效率。
在日新月异的 ChatGPT 时代,学习算法仍然非常重要,算法作为程序的灵魂,是不变的基石,无论开发工具如何进化,掌握、熟识并能灵活运用算法对每个当代程序员都至关重要。
13 本豆瓣高分算法书,每本都经过读者验证,适合各个阶段,不同需求的学习者,不管你是入门、进阶、面试、竞赛,这份书单都能帮到你。
一、趣学入门
豆瓣评分 8.4,Python示例,趣学算法鼻祖教程
有趣的配图、丰富的示例、好懂的内容,用学习者最能理解的方式阐释算法。书中前3章将帮助你打下基础,带你学习二分查找、大 O 表示法、两种基本的数据结构以及递归等。
余下的篇幅将主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如,何时采用贪婪算法或动态规划;散列表的应用;图算法;K 最近邻算法。
近期被买爆的算法书,本年度图灵算法类销冠
一本你一定可以读懂的算法书,书中涉及的数据结构有栈、队列、链表、树、并查集、堆和图等;涉及的算法有排序、枚举、深度和广度优先搜索、图的遍历,当然还有图论中不可以缺少的四种最短路径算法、两种最小生成树算法、割点与割边算法、二分图的最大匹配算法等。
访问量超200万人气博主打造,揭秘各种神奇功能背后的算法实现
书中示例与生活息息相关,生动展现了算法的趣味性和实用性。书中介绍了算法在多个领域的应用,如图像处理、物理实验、计算机图形学、数字音频处理、机器学习等。
其中,既有各种大名鼎鼎的算法,如神经网络、遗传算法、离散傅里叶变换算法、KNN、贝叶斯算法,也有不起眼的排序和概率计算算法。内容讲解浅显易懂而不失深度和严谨,对程序员的算法学习有很大的启发哟!
比课本更生动,136段代码+213幅图表,透彻讲解算法与数据结构
日本编程教育界泰斗,畅销书《明解C语言》作者倾力打造!图文并茂、示例丰富,内容包括数组、查找、栈和队列、递归算法、排序、字符串查找、线性列表、树结构和二分查找树等。每章还配有可操作的示例代码以及练习题和习题答案,方便读者掌握学习进度。
二、夯实基础
“程序员,如果你能读完这套书,不妨给我发个简历”——比尔·盖茨
《计算机程序设计艺术》系列是当代最伟大的程序员之一高德纳的著作,也是公认的计算机科学领域权威之作。这套书深入阐述了程序设计理论,可以说读懂了这套书就读懂了程序的灵魂。
数十年来,一直是学生、研究人员和业内人士学习程序设计理论和实践的无价之宝。这一宏伟浩大的工程始于 1962 年,作者计划出版 7 卷,目前已经出版了 4 卷外加一本MMIX增补。
豆瓣评分9.4,涵盖程序员必须掌握的50种算法
作为算法领域经典参考书,这本可以说是最好理解的算法大部头图书,但是内容对学习者友好,不用担心难啃。作者提供了 Java 代码,采用了模块化编程风格,方便读者对代码进行改造。另外还有配套网站,提供了书中内容的摘要及更多的代码实现、测试数据、练习、教学课件等资源,帮你一站式学习算法,夯实算法底层基础。
三、面试必备
前端大神司徒正美写给前端学习者的面试必备算法书
这本书给出学习者可以套用的算法模板,以 JavaScript 作为演示代码,涉及各种数据结构和常见的算法面试题,没有可怕的数学公式与复杂度证明,为了方便记忆,作者根据每种算法都会给出多种解,读者只需从中选取适合自己的解即可。
被程序员奉为面试“神作”,100道精选面试题拆解,刷题人必备
这本书常居美国亚马逊程序员面试图书榜单 TOP1,一本书帮你面试通关,拿下心仪offer。
书中系统全面地介绍面试的各项环节,作者将自己在知名技术公司的面试经验集结成书,可以说是程序员面试的第一手资料。通过拆解 100 道精选面试题目,助你轻松通过技术面试,更有 89 道电子版进阶题目(图灵社区可以下载)让你技惊四座。
四、竞赛指南
腾讯广告算法大赛两届冠军、Kaggle Grandmaster倾力打造
豆瓣评分 8.5,这本书是算法竞赛领域内一本不可多得的好书,不仅包含竞赛的基本理论知识,还结合多个方向和案例详细阐述了竞赛中的上分思路和技巧。书中的赛题案例来自 Kaggle、阿里天池、腾讯广告算法大赛,并按照问题建模、数据探索、特征工程、模型训练、模型融合的步骤讲解竞赛流程。
豆瓣评分9.0,日本 ACM 参赛者人手一本
这本书是世界顶级程序设计高手的经验总结,针对程序设计竞赛中的基础算法和经典问题进行了汇总,分为准备篇、初级篇、中级篇与高级篇。作者结合自己丰富的参赛经验,对严格筛选的 110 多道各类试题进行了由浅入深、由易及难的细致讲解,并介绍了许多实用技巧。每章后附有习题,供读者练习,巩固所学。算法竞赛必读。
文末福利
小伙伴留言说说自己对算法的理解,或者安利一下自己学习算法的小技巧。我们会在3 楼、33 楼、99 楼分别选出 3 位获得赠书,没有对应楼层会在优秀留言中选择哦!