(现在累计161道。)https://leetcode-cn.com/u/yanshinian/
算法的好处
太多了。我就想说两点。
- 降低后续技术的学习成本。比如:nginx就用到了红黑树。
- 扩展你的视野。比如:你做题多了。你的代码整洁度跟熟练度。以及你对技术的理解可能就不一样了。算法还是蛮有趣的。
算法的学习
简单粗暴。一波课程推荐。不是你学不会,是你看的资料可能还不够好。
如果你什么都不晓得?那你至少可以看下《大话数据结构》。这本书至少很简单的入门了。
如果你什么语言都不会?那至少先看一门面向对象的语言。C++跟java或者python代码也是能知道啥意思了。
慕课上有个老师叫做liuyubobobo 主页如下。http://www.imooc.com/t/108955 (注意,我不是打广告,因为连接上毛都没带)
如果你想用代码实现一遍数据结构
《玩转算法系列--数据结构精讲 更适合0算法基础入门到进阶(java版)》可以学到什么:老师用java都亲自把数组、二叉树、并查集、AVL、红黑树、字典树都实现了一遍。曾经我以为红黑树很难。你看了就会觉得原来好简单。
如果你想开始刷题了
《玩转算法面试 从真题到思维全面提升算法思维》可以满足你的刷题欲望。
一个题有多个解。每个题解的复杂度。边界条件。要考虑哪些点。
另外,刷题快有个tips。就是看完一个主题就刷一个主题的题。这样是比较快的。
极客时间 《算法面试通关40讲》 也适合刷题,老师把一些代码的套路,做题技巧,都会告知你。
如果你觉得覃超老师对你帮助很大,也可以支持算法训练营。会有更多的内容。除此之外我推荐的其实就够用了。
如果你想对排序一遍了解通过
《算法与数据结构-综合提升C++版(快速应对面试)》这个课程中有对排序的讲解。依然很棒。
如果你想扩展视野
比如,算法都应用到哪些地方了?
极客时间《数据结构与算法之美》高级篇可以看看。
刷LeetCode
我觉得你想刷就咋刷。下面我看到两个链接。有的心得不错。自己体会。