算法学习

背景介绍:

        最近打算换工作,应聘了国内的几个比较大的IT公司。在面试中遭遇不少麻烦,首先的麻烦就来源于笔试。其实也不是些什么难题,思路一猜也就猜到。但是缺乏了书本和google的协助,半桶水的我就有点手足无措了。根据以往经验,对于社会招聘,笔试这个环节在小公司的面试里并不常见,一般的小公司可能只会询问一些工作经验、个人技能、项目经验等。但很明显,大公司对于人才的基础理论知识的考察看得十分重要。算法、编程语言细节等都会在笔试里重点考察。

        但是,作为一个从小公司里面成长的IT杂工(就是啥都做),对这些东西的认知往往在于知道什么时候用,或者怎么去用。根据以往数学建模的经验,对算法的掌握程度也是仅限于理解算法的思路,知道算法的应用场合,往往在建模的过程中才会继续去深入了解一些细节,需要先翻书复习或者先在网上搜索回顾一下。因此,我在面试中碰钉子,也就不足为奇了。


        有鉴于此,本人痛定思痛,打算好好归纳整理一下这些年来接触和学习的一些知识,并适当加以深入。博客是一个比较好的学习方式,既帮助自己归纳,也可以供其他人借鉴参考。关于算法和数据结构,打算分几个阶段来写。


(1)算法分析的基础,主要是一些简单的数学知识

(2)常见的算法归纳,它们各自的优缺点以及适用场合(网上和教材也会有,本人会适当参考,但不抄袭)

(3)部分常见算法的具体实现以及具体应用(结合一些工作中的例子,Linux内核、数据库、数学建模等)

(4)算法设计,分治、变治、减治、回溯等等(ACM入门的基础,但是掌握这些比死记硬背算法更重要)


ps:我不是专门研究算法的,博客中的一些内容也是仅限于入门水平,本人对ACM兴趣也不是很大。对于如何算法的一些感悟,大家可以参考一下:


1)Lucida《我的算法学习之路》

2)刘未鹏《知其所以然》

3)zolalad《算法设计之五大常用算法设计方法总结》

4)Aclayton《ACM基本算法分类、推荐学习资料和配套pku习题》


最后,上一张图吧,来自Lucida的博客(他说是google来的)

算法学习_第1张图片

你可能感兴趣的:(数据结构,算法,算法学习,算法总结,算法设计)