数据结构与算法书籍、视频、项目、网站、刷题技巧推荐(2021 年持续更新)...

今天整理出一些算法相关学习资源,包括书籍、算法刷题网站、项目资源、视频课程、面试要领这5个方面。

首先介绍一下技术书阅读方法论。

一.速读一遍(最好在1~2天内完成)

人的大脑记忆力有限,在一天内快速看完一本书会在大脑里留下深刻印象,对于之后复习以及总结都会有特别好的作用。 对于每一章的知识,先阅读标题,弄懂大概讲的是什么主题,再去快速看一遍,不懂也没有关系,但是一定要在不懂的地方做个记号,什么记号无所谓,但是要让自己后面再看的时候有个提醒的作用,看看第二次看有没有懂了些。

二.精读一遍(在2周内看完)

有了前面速读的感觉,第二次看会有慢慢深刻了思想和意识的作用,具体为什么不要问我,去问30年后的神经大脑专家,现在人类可能还没有总结出为什么大脑对记忆的完全方法论,但是,就像我们专业程序员,打代码都是先实践,然后就渐渐懂了过程,慢慢懂了原理,所以第二遍读的时候稍微慢下来,2周内搞定。记住一句话:没看完一个章节后,总结一下这个章节讲了啥。很关键。

三.实践(在整个过程中都要)

实践的时候,要注意不用都去实践,最好看着书,敲下代码,把重点的内容敲一遍有个肌肉记忆就很不错了。 以及到自己做过的项目中去把每个有涉及的原理的代码,研究一遍,就可以了

一共四个系列整整50+本电子书,找了好久终于齐了,如果都能看完看懂且科学的总结外加合理的实践,相信未来你的技术路会更好走,当然阿里巴巴,腾讯,阿里这些的Offer不将是梦,除了多看点技术书,你觉得还有什么能拿出来和985,211的朋友比呢?

最近在学习算法和数据结构+涉及一点acm方面的知识,看到一篇好的关于数据结构和算法的书籍,如果计算机系只开三门课,那么这三门课就一定是:离散数学,数据结构与算法,编译原理。如果只开一门课,那剩下的就一定是:数据结构与算法。

Niklaus Wirth说:算法+数据结构=程序。

不说废话了,下面列出一份数据结构+算法书单,从入门到进阶说起。

数据结构与算法书籍、视频、项目、网站、刷题技巧推荐(2021 年持续更新)..._第1张图片

数据结构与算法书籍、视频、项目、网站、刷题技巧推荐(2021 年持续更新)..._第2张图片


以下是每本书的推荐语,清楚自己缺的是什么,就下定决心去补吧,一个好工作意味着高收入,投资自己的时间换来更宝贵的东西。

我整理的这些书大家可以在这里获取,对于学习计算机的同学学习以及校招复习帮助非常大,且十分系统

【算法与数据结构】+一点点ACM从入门到进阶吐血整理推荐书单(珍藏版)


争取做到,看完这一篇,算法相关学习资料全掌握!话不多说,这就开始吧!

一:书籍推荐


【入门阶段】


1、啊哈!算法(豆瓣评分7.7)


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

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

数据结构与算法书籍、视频、项目、网站、刷题技巧推荐(2021 年持续更新)..._第3张图片


2、算法图解(豆瓣评分8.4)

算法教科书通常让人昏昏欲睡,麻烦就在于算法是绕不开的必修课。以前大学有这个课程,看过几本算法书,都不太满意,看不懂很打击自信心。

而这本图解书确实有所突破,很容易看懂,不枯燥。书不到200页,我几个小时就看了一半。虽然都是些入门级的算法,经过作者梳理后就很清晰了。

我觉得这是最好的最有趣的算法入门书。媲美国内的《啊哈算法》那本书。

读完本书虽然没有什么高深的算法,但是可以自信地说算法入门了。

数据结构与算法书籍、视频、项目、网站、刷题技巧推荐(2021 年持续更新)..._第4张图片


3、《趣学算法》(豆瓣评分8.9)


非常好的一本书,图解多,思路清晰,不仅讲了问题分析算法设计的过程,还讲了如何优化算法,不同的数据结构上设计算法会有什么样的复杂度。值得推荐。

数据结构与算法书籍、视频、项目、网站、刷题技巧推荐(2021 年持续更新)..._第5张图片


【掌握阶段】


1、大话数据结构(豆瓣评分7.9)


时逢找工作,为笔试准备,需数据结构、数据库、c/c++、计算机系统、网络方面知识。对于数据结构,力荐此书,通俗易懂,非常适合计算机相关专业朋友…

本人本科初学数据结构时对于所谓时间复杂度完全摸不着头脑,虽然凭着绝佳的短期记忆力在中国式考试中拿到高分,但在实际程序设计开发中一无所用,故借此机会重学这方面知识。本书对时间复杂度,即大O阶的推导讲解十分细致,很容易就将“多年顽疾”解决。

由此管窥此书,其他方面知识点也讲得非常清楚,附有大量插图,更是适合对大段文字提不起兴趣的朋友。


2、算法设计与分析基础(豆瓣评分8.7)


本书十分适合用作算法设计和分析的基础教材,也适合任何有兴趣探究算法奥秘的读者使用,只要读者具备数据结构和离散数学的知识即可。


3、算法详解(卷1)——算法基础(豆瓣评分8.8)


本书为对算法感兴趣的广大读者提供了丰富而实用的资料,能够帮助读者提升算法思维能力。本书适合计算机专业的高校教师和学生,想要培养和训练算法思维和计算思维的IT专业人士,以及在准备面试的应聘者和面试官阅读参考。

数据结构与算法书籍、视频、项目、网站、刷题技巧推荐(2021 年持续更新)..._第6张图片

【进阶阶段】


1、算法导论(原书第3版)(豆瓣评分9.2)


经典必看著作!!本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。不建议初学者看,等有了一定的算法功底进行学习比较好。

数据结构与算法书籍、视频、项目、网站、刷题技巧推荐(2021 年持续更新)..._第7张图片

2、编程珠玑(豆瓣评分9.1)


本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。这本书最大的特点是里面涉及到了对于海量数据的处理方式,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。

数据结构与算法书籍、视频、项目、网站、刷题技巧推荐(2021 年持续更新)..._第8张图片


4、计算机程序设计艺术(豆瓣评分9.8)


这本书首先介绍编程的基本概念和技术,然后详细讲解信息结构方面的内容,包括信息在计算机内部的表示方法、数据元素之间的结构关系,以及有效的信息处理方法。此外,书中还描述了编程在模拟、数值方法、符号计算、软件与系统设计等方面的初级应用。此第3版增加了数十项简单但重要的算法和技术,并根据当前研究发展趋势在数学预备知识方面做了大量修改。


5、算法第 4 版(豆瓣评分9.3)


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


6、算法引论(豆瓣评分9.1)


这本书是国际算法大师乌迪·曼博(Udi Manber)博士撰写的一本享有盛誉的著作。本书的特色有二,旨在提高读者的问题求解能力,使读者能够理解算法设计的过程和思想:一是强调算法设计的创造性过程,注重算法设计背后的创造性思想,而不拘泥于某个具体算法的详细讨论;二是将算法设计类比于定理归纳证明,揭示了算法设计的基本思想和本质。


【面试工作必看书籍】


1、剑指offer(豆瓣评分8.3)


这本书剖析了50个典型的程序员面试题,从基础知识、代码质量、解题思路、优化效率和综合能力五个方面系统整理了影响面试的5个要点。是面试必读书籍之一。

数据结构与算法书籍、视频、项目、网站、刷题技巧推荐(2021 年持续更新)..._第9张图片

2、编程之美(豆瓣评分8.4)
这本书收集了约60道算法和程序设计题目,这些题目大部分在近年的笔试、面试中出现过,或者是被微软员工热烈讨论过。作者试图从书中各种有趣的问题出发,引导读者发现问题,分析问题,解决问题,寻找更优的解法。

数据结构与算法书籍、视频、项目、网站、刷题技巧推荐(2021 年持续更新)..._第10张图片

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

数据结构与算法书籍、视频、项目、网站、刷题技巧推荐(2021 年持续更新)..._第11张图片


4、《程序员实用算法》(豆瓣评分7.3)
本书重点关注的是实用、立即可用的代码,并且广泛讨论了可移植性和特定于实现的细节。结构清晰,示例丰富,可作为广大程序员的参考用书。

数据结构与算法书籍、视频、项目、网站、刷题技巧推荐(2021 年持续更新)..._第12张图片

二:算法刷题网站

1、LeetCode


估计 leetcode(力扣)大家都很熟悉了,很多国内外的程序员在上面刷题,难度从 Easy、Medium 至 Hard 都有,据说很多面试官都会从中挑选各种题目,号称大厂的筛码工。

2、AlgoMooc

一个提供算法图解的平台,从此,刷题不再枯燥。

AlgoMooc-一个专属于程序员的平台,和大家一起刷题

3、牛客网


牛客网作为国内内容超级丰富的 IT 题库,各种题库+面试+学习+求职+讨论 360 度无死角服务,堪称"互联网求职神器"。它好就好在不只是一个刷题的平台,还是一个交流学习的平台。


4、hihoCoder


网站的技术团队来自于原北大 POJ 的开发团队,至于 POJ 会在后面的篇章中介绍,反正膜拜就完事了。一些知名的大厂比如微软、百度、腾讯、网易等会在上面举办在线编程比赛,风格倒是和 ACM 比赛类似。

5、HDU

杭电(杭州电子科技大学)的 OJ 大概是国内最火的几个 OJ 之一了,现在上面大概有接近 6k 的题量,网上有很多的刷题顺序,刷题指南。

6、POJ

作为国内最火的几大 OJ 之一,现在上面有 3k+ 的题量,关于 POJ 的刷题指南网上更是很多。

7、代码课堂

大学生在线编程首选平台,里面也有很多IT题库,种类丰富,题量齐全。

注册 - 代码课堂-专注在线编程学习,零基础编程入门的教程网站!



三:项目资源

1、Competitive-Programming-Docs

项目介绍:这个项目是一个总资源集,内容非常全面,包含算法竞赛论文,课件,文档,笔记,平台等资料。

项目地址:
github.com/LzyRapx/Comp

2、负重前行,前端工程师如何系统练习数据结构和算法?【上】

项目介绍:作者详细提供了系统练习数据结构和算法的方法论。

项目地址:
juejin.im/post/68449040

3、GitHub——微软项目

此存储库包含构建推荐系统的示例和最佳实践,作为 Jupyter 笔记本提供。这些示例详细介绍了我们对五个关键任务的学习:准备数据、模型、脱机指标评估算法、型号选择和优化、操作性、

项目地址:
github.com/microsoft/re

4、五分钟学算法:算法与数据结构文章详细分类与整理!

项目介绍:该项目包含10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树,以及10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。

项目地址:
cxyxiaowu.com/7072.html

5、 GitHub开源项目——Build Your Own X

该库收集了诸多优质资源,教你如何构建一些属于自己的东西,内容主要分为增强现实、区块链、机器人、编辑器、命令行工具、神经网络、操作系统等几大类别。

项目地址:
github.com/danistefanov

6、GitHub开源项目——Gitignore

帮助Git工程师解决:每次你需要为项目创建 .gitignore 文件时,只需要打开这个项目,针对你当前所用编程语言或框架,去寻找对应 .gitignore 模板替换即可。

项目地址:
github.com/github/gitig

四:视频课程

1、300分钟搞定数据结构与算法

LeetCode 官方国内唯一合作课程,leetCode刷题秘籍独家揭秘,专注于面试场景,全程动态动画教学。

地址:bilibili.com/video/av79

2、麻省理工学院公开课:算法导论

课程主题包含了:排序、搜寻树、堆积及散列;各个击破法、动态规划、偿还分析、图论算法、最短路径、网络流、计算几何、数字理论性算法;多项式及矩阵的运算;高速缓存技术及并行运算。


地址:open.163.com/special/op

4、中国大学MOOC-数据结构

国内关于数据结构非常经典的课程。
地址:icourse163.org/course/z

五:面试要领

算法与面试之-如何准备算法面试

主要介绍算法面试的一些问题、以及如何准备算法面试。
地址:微信大佬总结的算法学习经验-五分钟学算法

原文链接: 算法学习资料汇总
作者:码小会

你可能感兴趣的:(算法,大数据,编程语言,python,人工智能)