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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一:书籍推荐

【入门阶段】

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

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

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

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

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

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

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

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

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

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

【掌握阶段】

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

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

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

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

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

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

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

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

【进阶阶段】

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

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

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

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

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

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

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

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

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

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

【面试工作必看书籍】

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

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

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

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

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

二:算法刷题网站

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

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

项目地址:
https://github.com/LzyRapx/Competitive-Programming-Docs

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

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

项目地址:
https://juejin.im/post/6844904061947346957

3、GitHub——微软项目

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

项目地址:
https://github.com/microsoft/recommenders

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

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

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

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

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

项目地址:
https://github.com/danistefanovic/build-your-own-x

6、GitHub开源项目——Gitignore

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

项目地址:
https://github.com/github/gitignore

四:视频课程

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

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

地址:https://www.bilibili.com/video/av796404932

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

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

地址:http://open.163.com/special/opencourse/algorithms.html

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

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

五:面试要领

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

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

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

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

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

    今天整理出一些算法相关学习资源,包括书籍.算法刷题网站.项目资源.视频课程.面试要领这5个方面. 首先介绍一下技术书阅读方法论. 一.速读一遍(最好在1~2天内完成) 人的大脑记忆力有限,在一天内快速 ...

  2. substring数组越界_LeetCode刷题常见问题注意点(持续更新中)

    树: 二叉树这种数据结构通常可以用两种方式来处理:递归和层级遍历. 1.递归.在当前节点,分别考虑左子树和右子树如何处理. 由递归,又衍生出DFS. 由DFS,又衍生出回溯. 2.层级遍历. 遍历整棵 ...

  3. LeetCode刷题之python解法(持续更新)

    1. Two Sum 4行 class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:d = {}fo ...

  4. C++_Leetcode刷题之路——简单(持续更新)

    目录 1. 两数之和 解一: 解二: 7. 整数反转 解一: 9. 回文数 解一: 13. 罗马数字转整数 解一: 14. 最长公共前缀 解一: 20. 有效的括号 解一: 21. 合并两个有序链表 ...

  5. mooc数据结构与算法python版期末考试_数据结构与算法Python版-中国大学mooc-试题题目及答案...

    数据结构与算法Python版-中国大学mooc-试题题目及答案 更多相关问题 婴儿出生一两天后就有笑的反应,这种笑的反应属于(). [判断题]填制原始凭证,汉字大写金额数字一律用正楷或草书书写,汉字大 ...

  6. 生物信息学算法之Python实现|Rosalind刷题笔记:002 中心法则:转录

    我在生物信息学:全景一文中,阐述了生物信息学的应用领域非常广泛.但是有一点是很关键的,就是细胞内的生命活动都遵从中心法则,生物信息学很多时候就是在中心法则上做文章: 分子生物学中心法则:DNA --& ...

  7. 生物信息学算法之Python实现|Rosalind刷题笔记:003 中心法则:翻译

    我在生物信息学:全景一文中,阐述了生物信息学的应用领域非常广泛.但是有一点是很关键的,就是细胞内的生命活动都遵从中心法则,生物信息学很多时候就是在中心法则上做文章: 分子生物学中心法则:DNA --& ...

  8. 生物信息学算法之Python实现|Rosalind刷题笔记:001 碱基统计

    前言 Rosalind is a platform for learning bioinformatics and programming through problem solving. Rosal ...

  9. 这些开源项目,你都知道吗?(持续更新中...)[原创]

    原文 这些开源项目,你都知道吗?(持续更新中...)[原创] Json.NET http://json.codeplex.com/ Json.Net是一个读写Json效率比较高的.Net框架.Json ...

最新文章

  1. 2017年7个主要的金融行业数据趋势
  2. 获取邮箱通讯录,msn好友列表的C#源码
  3. 网站静态化处理—动静分离策略(3)
  4. 麒麟970怎么升级鸿蒙系统,华为这些手机无法升级鸿蒙系统,搭载麒麟970,只能遗憾错过...
  5. 利用 CSS animation 和 CSS sprite 制作动画
  6. 高校学生学籍系统C++amp;mysql
  7. leetcode c程序总提示主函数_Python练手:一行Python解Leetcode习题
  8. xshell5免费版本下载
  9. natapp反向代理
  10. 校园网认证破解教程(某数字科技学院)
  11. 智慧产业园区综合解决方案
  12. Unit firewalld.service could not be found
  13. 数据敏捷,HTAP数据库既决效率又决生死
  14. window10 pl2303驱动解决
  15. 服务器微信接口返回乱码,微信开发时,返回的消息中文乱码问题
  16. postman导出,断言,批量执行
  17. 利用RSS进行学术期刊订阅
  18. Flickr和DasBlog以及地理标记和EXIF等等
  19. 前端团队代码规范最佳实践,个人成长必备!
  20. javascript根据方法名调用方法

热门文章

  1. centos 7 安装 Python 3.9
  2. Qt编写自定义控件14-环形进度条
  3. 购买佳能A710全过程
  4. 设置Ubantu共享文件夹
  5. 熬夜爆肝整理的近2万字——python爬虫基础之HTTP协议
  6. Unreal里几个基本技巧/常识
  7. pythonif语句如何循环_pythonif语句如何循环
  8. 微信让运营商们担忧 微信操作系统将让BA3们颤抖
  9. Java项目之利用集合设计图书管理器系统
  10. 10大Python库必须了解