算法基础学习路线
自我介绍
我来自南京大学,目前实习拿了10 offer
主要的个人经验和面经可以看之前总结的帖子:https://www.nowcoder.com/discuss/188367
我主要的方向是:后台开发,基础架构,云计算开发
我本身不是计科出身的,没搞过ACM,以下纯属个人学习的总结,不喜勿喷。
个人的建议:
算法这块因为我没打过ACM,所以一开始恶补的很多,我建议先找一些比较靠谱的视频或者公开课去学会比较好,当然如果学校里的课还不错可以去上上,因为我的专业开的计算机相关的课非常少,我记得本科就一个c语言和c 程序设计。所以我是蹭了很多计科的课:比如数据结构,算法设计与分析这类的课。因为算法这东西还是需要时间去训练的。
课程
- 浙大的数据结构
- MIT的算法导论
刷题
学完了之后呢,当然就是刷题了,我不推荐每天没日没夜的刷,当然我也曾经这样过一天刷他个十几道,但是真的这样效率其实不高,我是建议在有一定题量之后每天随便找个时间写个1-2题就够了,难度就是leetcode中等就行了,推荐大家一些必刷的和一些我觉得还不错的oj:
必刷
- 剑指offer 2遍左右够了
- leetcode 所有简单和中等的
- 左神算法课上的所有例题 (如果你不知道左神是谁,那么你可以翻到最后)
个人推荐
- hihoCoder :他会有一个每周周赛,都在周日,四道题。难度和代码量都还是挺大的,如果想去外企我建议多刷刷。
- lintcode: 为什么推荐呢,因为他有个CAT模式也就是天梯上分,写一题上一颗星每题有时间限制15分钟或者30分钟,提交次数限制3次,没过会惩罚加题。总之非常适合面试模式。我是刷的停不下来。
- codeforces:这个就偏比赛一点,但是很多新题都是这上面改的所以值得做一做。
再给一个我认为好的算法博客:
- http://www.cnblogs.com/grandyang/p/4606334.html
这上面有基本所有leetcode上题目的解析,个人感觉无论是在地铁上或者无聊的时候都可以拿出来刷刷思路。
书籍:
- STL源码剖析 : 各种数据结构的实现 都在里面 c 必问
- 算法导论 :当个参考书吧,没事推个导,计算个复杂度还是有点意思的。
- 算法竞赛入门经典
最后
强推一波左神的算法课,从我个人的角度来说,是左神的算法课在我刷题和学算法最迷茫的时候,拯救了我。
因为大家很容易陷入,看课看不下去,刷题刷的要死要活的阶段,进入一种恶性循环。总感觉时间花进去了但是
进步很小,该不会写的还是不会,总是眼高手低。
如果你曾经是陷入这样的境地,那你不是一个人,我曾经也是这样。
当时在牛客上看到了左神的课,md惊为天人,吃午饭我都在看。
左神基本把所有的知识点和考点都进行了罗列和讲解,如果说你没看过,那么左神的课可能就是你提升的“捷径”。
如果经济允许我真的建议大家支持一波左神的课~ (当然也可以抱团,我当时就是。。咳咳)。
最后如果有想买牛客网左神算法课的小伙伴,可以私戳我或者去这个帖子自取优惠码 https://www.nowcoder.com/discuss/384433
不要问我为什么给左神打广告!反正就是好!