这篇博客其实前前后后已经想了好久了,这次毅然借求职这个机会,准备把自己近几年来写的算法都整理一遍。
算法,作为计算机中一门基础又有一定难度的一科,是很多从事计算机行业要打好基础的部分。就像练武功一样,这个就是基本功,虽然说可能很多人从事的工作,其中用到的算法很少,但不应该就此就否认算法的作用。
它锻炼的是一种思维,一种解决问题的能力。或许哪一天,某个实际的问题,你灵光一动,就想到了可以用某个算法经过改造来解决我们生活中真正的问题。不是单纯为了写算法而写算法,它最后的落脚点应该是:服务大众。
近几年来,我看的关于算法的一些书:《王道论坛:上机指南》,《刘汝佳:算法竞赛入门经典》,《刘汝佳:算法竞赛入门经典训练指南》,《剑指Offer》,《编程之美》,《算法分析与设计》,当然,《算法导论》也买了,只是最近太忙,来不及看,这也是一本巨作了。
自己在做的过程中,每道题基本上都写了思路,还有解题的关键点,这些看过我Blog的应该都知道。因为其实大多的算法题,往往是那一两个关键的地方卡人,把这些拦路虎搞定,问题就不大了。因此,每题基本上我都写了这些问题的关键点。
我按照自己这几年的心得,推荐大家的算法学习路线如下:
《王道论坛-上机指南》-->《刘汝佳:算法竞赛入门经典》-->《刘汝佳:算法竞赛入门经典训练指南》-->《剑指Offer》-->《算法分析与设计》-->《编程之美》-->《算法导论》
如果觉得以上学习路线过长,请看下面的精简版学习路线:
《王道论坛-上机指南》->《剑指Offer》-->《算法分析与设计》-->《编程之美》
《王道论坛-上机指南》,是针对考研复试的上机考试的,这本书的最大特点是:基础题和中等难度的题分布得很好,绝对是带你进入算法学习的一本好书,我十分推荐没有算法基础的朋友们用这本书来入门。
此书还有一个作用,华为的技术面是需要上机的,这本书上的不少题目都是经常考的,希望对你们有帮助。
《剑指Offer》,这本书,是微软等名企面试的算法题集锦,除了教你面试,也有很多好的算法题。该书中一些关于数据结构的算法题绝对是你需要加强的部分。
《算法分析与设计》,这本书非常好,晋级中级算法的必读之作。书非常系统,全书将算法划分为几大部分:递归,分治,动态规划,回溯,分支限界,图和网络,计算几何等。每个部分都有讲解和代码,非常用于提高自己的实力。
《编程之美》,这本也是针对面试的算法题,也是各大名企的题的算是汇总吧。该书难度要比《剑指offer》要难,不过也是非常精彩,更多的是一些你想不到或者需要你想得比较深的题目,平凡之中乃见不凡,是我对该书的评价。
《刘汝佳:算法竞赛入门经典》和《刘汝佳:算法竞赛入门经典训练指南》,是清华刘汝佳的算法竞赛的书籍,里面题目非常多,一些有兴趣在竞赛方面一展拳脚的朋友可以试试。
本着:赠人玫瑰,手留余香的精神,现将算法系列全部整理并发布,希望对有需要的朋友们有帮助。
水平一般,能力有限,如有错误,也希望各位朋友们能够指出。
王道论坛机试指南的58题已经整理并发布在我的Blog中,地址是:http://blog.csdn.net/qingyuanluofeng/article/details/47159077
剑指Offer的49题现已整理并发布在我的Blog中,地址是:http://blog.csdn.net/qingyuanluofeng/article/details/39091985
编程之美的63题现已整理并发布在我的Blog中,地址是:http://blog.csdn.net/qingyuanluofeng/article/details/39272847
算法分析与设计37题现已整理并发布在我的Blog中,地址是:http://blog.csdn.net/qingyuanluofeng/article/details/47189049
刘汝佳-算法竞赛入门经典的已整理并发布在我的Blog中,地址是:http://blog.csdn.net/qingyuanluofeng/article/details/47416729
各大互联网公司面试470题,原作者July,现在也已转裁至我的Blog中,地址是:http://blog.csdn.net/qingyuanluofeng/article/details/47604973
29种设计模式,现已整理,地址是:http://blog.csdn.net/qingyuanluofeng/article/details/47402423
最近在看July整理的各大互联网公司面试470题,题型其实大多来自于以下几本书:
程序员面试宝典:大概涵盖了面试题的基础部分,比如:408的一些,数据结构,操作系统,计算机网络,当然计算机组成原理比较少,外加笔试题经常考的几部分:
C++面向对象,C语言基础,数据库等,另外一些小打小闹的部分:逻辑推理题,找规律等
可以说这是基础,搞定程序员面试宝典,基本上搞定笔试50%的题基本上是足够了。
然后接下来就是很多算法题,一般是有技巧的,看完之后恍然大悟的一些:源于 , <<剑指Offer>>的50题 + <<编程之美>>的63题,这113题绝对是互联网公司470题的原型和基础
然后就是大概几十道题是关于海量数据处理的,毕竟各大互联网公司的大数据的确是要考虑的部分,这部分题暂时我还没有看到哪一本书专门有做介绍,更多的可能是各位朋友们总结的。
再然后就是基础算法题,这部分算法题大部分可见于,在<<王道机试指南>>58题 +<< 算法设计与分析>>大约40题,大约100题,也是考研数据结构是否扎实的有力试金石。
应聘的各位朋友们,我觉得先用程序员面试宝典把忘掉的基础部分先补起来,把笔试部分KO。然后用:机试指南和算法设计与分析先强化一下自己数据结构的基本功,然后再看剑指Offer和编程之美强化算法,这个顺序会比较不错,当然如果你的算法功底很深厚,直接上:剑指Offer和编程之美也可以。
把这些都搞1遍,然后再看July的480题,我相信70%的题目你已经不在话下,剩下的就是调整好心态,平常心吧。
祝好!
下一专题预告:
各大互联网公司面试题分类整理,敬请期待