为什么要学习算法?
相信很多人的答案是为了面试。因为普通开发工程师在工作中用到复杂算法的概率很低
那么面试官为什么要面试算法呢?
- 考算法的本质是考智商,算法学的好的同学智商都不会太差,智商高也就更容易解决工作中遇到的问题
- 优中选优(俗称内卷),当大家八股文都背的很六的时候,只能通过更难的东西来筛选一下了
如何提高算法水平呢?
-
在校生可以多参加算法竞赛,例如ACM国际大学生程序时机竞赛(能深刻认识到人与人之间的差距有多大,哈哈),中国大学生程序设计竞赛(CCPC),蓝桥杯,各种在线的算法竞赛如,Codeforces,BestCoder等
-
毕业生刷LeetCode就足够用了。可以刷一下精选榜单《LeetCode 热题 HOT 100》《LeetCode 精选 TOP 面试题》,就不要盲刷了,毕竟毕业生精力真不够
如何刷题呢?
- 按照专题来刷,不要随机刷。这样更容易刷出感觉,更好的总结套路。这个道理可以类比学车,当你去练车的时候,教练