今天这篇还是算法相关的,为了给之前的文章做一个补充。
在网上有很多的开源资料,除了昨天分享的LeetCode题解之外,由官方出品的免费教程Leetbook也是不错的学习选择,这套教程按照各个知识点循序渐进的罗列了算法题,对于不喜欢看纸质书的朋友们来说,要方便许多。
Leetbook的好处就是把算法归类为了各个章节,而且大部分的章节都是免费的,把基础打好之后,由易到难地选择题目,一个知识点十几道题,刷完就可以掌握一些套路去挑战medium了。
推荐的学习顺序是这样的:
1、复杂度分析、数组、栈、队列、链表、哈希表、二叉树、堆、trie树、并查集、图
2、递归、查找、排序、查、字符串匹配、动态规划
这边我也收集了一份开源笔记来帮助大家,是一位CMU硕士整理的101道经典题型,初学者可以跟着走一遍,再配合上个笔记分享的LeetCode的思路解法,就能达到很好的效果。
CMU硕士讲解经典101道
昨天的LeetCode cookbook也对1479道题进行了思路和解法以及复杂度分析:
因为市面上的书籍大部分都是用C、C++、JAVA语言实现的,而使用Python、GO、JavaScript等语言的就更少了。
如果你熟悉的是Python或者JavaScript的话,可以参考这两本书:
《数据结构与算法JavaScript语言描述》
《数据结构与算法:Python语言描述》
两者都是精简实用的书籍,但是要注意前者书中存在有不少的谬误,但我们的主要目的是学习算法,对于第一编程语言是js的同学来说,还是可以看一看的。
至于其他的语言,小编这里确实没有找到,欢迎大佬在评论区补充。
在软件开发行业,从来都是算法先行,次基础,技术为末。这也是程序员从业者金字塔的层级关系,分布数据结构与算法即是互联网大厂的敲门砖,也是开发者精益求精、持续提升的内功基础。
越往上走,你会发现需要了解和掌握的是越接近底层的知识,而这些往往都离不开基础的算法与数据结构。
1、关注我的账号
2、转发并评论:“实用”
3、点击头像后私信我:大写字母“Y”即可获取
页面更新:2024-05-17
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号