大狗熊说要做一件事情之前,要知道自己为什么去做?然后做好了,我能够从中有何收获?明确了这两点之后,我们就需要去给自己制定一个符合自身实际情况的目标和计划去做。
- 为什么开始搞算法?
- 搞好了算法,我的收获?
- 我的目标
- 我的计划
为什么搞算法?
1.找工作需要
根据马斯洛的需求层次理论,生存是最基本的需求,而工作维持我们生活的基础,各大互联网公司对于校招,最看重的就是基础,对于数据结构和算法看的比较重,说白了,为了应付面试,笔试,拿offer。
2.算法很cool
有的时候让我去实现一个功能,要写出来一堆臃肿的代码,可能实现的还不够好,考虑不全,不够鲁棒等,但是如果知道了某种算法之后,可以使我们的代码量减少,同时执行效率也明显的提高很多。感觉这一个过程是很cool的,同时如果我们知晓其在现实中的应用,感觉更是cool,这让我想到反馈周期问题,我们往往感觉算法枯燥的原因就是我们学了之后不能够以成果的形式反馈给我们,如果将其联系现实问题,这样我们学了一个算法就很cool的解决了一个现实问题。
3.实际应用
在实际的编程中,也会用到一些算法,熟悉一些常用的算法,也可以很好地帮助我们提升开发效率。特别是对于数据量比较大的时候,其作用越发明显。
4.提高自己解决问题的能力
对于一些算法,我们可以从中吸取很好地解决问题的经验,如何分析一个问题,如何对问题建模,针对不同类型的问题如何去思考。
收获有哪些?
学好了收获有那些?
1.思考解决问题的能力
2.拿到好offer
3.写出来更cool的代码
我的目标
已经开始刷和准备刷的一些书籍
- 剑指offer
- 程序员面试经典
- 算法
- 算法导论
- 编程之美
《剑指offer》对面试中常用到的算法做了一个很好地归类整理,所以在学习算法的时候会让我们更具针对性,对题目的难易程度也有了一个很好的把握。
《算法》比较经典的算法入门书籍,主要是通过对每个算法其实际应用的讲述可以很好地增加我们的学习兴趣。
《算法导论》作为反馈的时候去看的一个基础书籍了,在刷题的时候用来去反馈。
《编程之美》题目感觉都比较有趣的,但是感觉难度稍微有点大。
我的计划
《剑指offer》—>《程序员面试经典》—>《编程之美》
将所有题目刷一遍,做下整理归纳,对于算法的一些问题写些博客,争取做到每天更新一篇。争取,因为如果是下定决心每天更,就会有种压迫感存在了,而不是对当成一种激励了,往往就会因为压迫感,有的时候也会因为没有按时完成带来的愧疚感,导致彻底荒废掉。
写什么:算法的思路,实现,实际应用,类似问题
代码放在了Github上
地址:本专栏博客源代码Github地址