这是项目 Norbour的算法学习之路 ,欢迎访问。
对于立志进一线互联网公司,同时不满足于一辈子干纯业务应用开发,希望在后端做点事情的程序员来说,算法无论对于即将要面临的求职抑或今后的工作中都是极端重要的一环。
虽说算法与数据结构的相关课程在本科时早已“学过”,但那时的我也就刚“学过”一门C语言,仅仅做过一些加减乘除级的玩具代码练习,根本就意识不到算法与数据结构的重要意义,上课睡觉期末混个考试,也就过去了(捶胸顿足)!第一次见识算法的威力是在大四毕设时,当时要基于实验室爬取到的六百多万项百度百科词条html文件做关键信息提取,用来实现本体扩充。初始阶段,由于所有词条的html文本都是非结构化地存在同一级目录下,每次实验都要遍历全部六百多万个html文件!而我当时写的处理算法都是简单直白的穷举思路...跑程序之前小规模实验推出将词条全部遍历并处理完需要服务器连续运行7天7夜!项目时间紧迫,紧急求助大牛师兄,师兄分析过后把我针对每个html页面的信息提取算法进行了“简单(他认为的...)”优化,将全部文件的总体处理时间缩短到23小时(单台服务器)。巨大的效率反差使我在震惊之余,直观真切地认识到了算法的重要Orz,并开始在接下来的日子里留意回顾算法的相关知识。后来直到读研,类似的事例在接下来的敲码工作中时有发生,而我在日常敲码实现功能的同时也开始注重程序处理效率的优化改进,但也只是零碎地读一些博客文章、翻看教科书的某些章节,总是感觉对于算法与数据结构这块知识自己掌握的扎实程度依旧太差,仅限于遇到具体问题去翻书查找,没有一个系统性的掌握,无法做到胸有成竹、融会贯通。与此同时,当今国内外主要互联网公司在招收工程师时对于算法数据结构基础的考察均十分重视,即将面临求职的我就想趁此准备找工作的时机,将算法与数据结构认真系统地“复习(预习)”一遍,夯实基础,首先为自己的笔试面试增添一份自信!
- 程序员编程艺术 — 面试和算法心得
- 结构之法 算法之道
- 我的算法学习之路
- 十道海量数据处理面试题与十个方法大总结
- 常用数据结构及复杂度
- 《C语言接口与实现》
- 《Linux C编程一站式学习》
- 《大话数据结构》
这个项目的版本库是 Git格式 ,在 Windows、Linux、Mac OS X
平台都有客户端工具可以访问。虽然版本库只提供Git一种格式,
但是你还是可以用其他用其他工具访问,如 svn
和 hg
。
支持三种访问协议:
- HTTP协议:
https://github.com/gotgithub/AlgorithmStudy.git
。 - Git协议:
git://github.com/gotgithub/AlgorithmStudy.git
。 - SSH协议:
ssh://git@github.com/gotgithub/AlgorithmStudy.git
。
操作示例:
$ git clone git://github.com/gotgithub/AlgorithmStudy.git