如何学算法的相关文章,大家估计也看过不少。我也经常被问到一个问题:工作很少用到算法,真的必要学算法吗?
很多“过来人”可能都会跟你说:算法没必要学,又不是算法岗,工作其实就是crud,学了也用不到,面试前刷刷就是……
这篇文章不是来辩论有没有必要学算法的,我就做个简单的回答:有必要学,一个现实的原因:大厂都喜欢考察算法了。大部分公司的笔试都是编程题,即算法题,而且面试中也会经常问到算法,数据结构。
再退一步讲,即便你不想加入大厂,在 IT 领域,如果你想吃技术这碗饭,长久来看,算法也会制约一个人的上限,等到技术更高深,经验越丰富,算法的重要性会越来越明显。
如何学习
我是在大三才意识到算法的重要性,当时在网上看了很多资料,但都比较零散,后来还是在字节实习的朋友给了我一本内部的算法图册,让我找到了学算法的窍门 。今天就把这个算法图册分享给大家,顺便把LeetCode上最常见的算法题也一并打包分享,都是可以复制文字的那种,方便大家学习
- 前三章将帮助你打好基础
二分查找
数组与链表
递归
- 余下的篇幅将介绍应用广泛的算法
遇到问题时,如果不确定该如何高效地解决,可尝试第4章的分而治之或第9章的动态规划;如果认识到根本就没有高效的解决方案,可转而使用第8章的贪婪算法来得到近似答案
分而治之
动态规划
贪婪算法
剩下的内容你们可以拿到手了自己看看,我这里就不过多介绍了,接下来看看面试题
- 70+算法题、30种大厂笔试高频知识点