数据结构与算法

对于数据结构和算法的概念,仅限于在大学时间上个时候的印象,枯燥、无味、不知所以!有同感的同学可以互相举手示意一下 。从学生时代走向工作,除了在面试的时候,会问到一些,工作的时候基本上用不到。有同感的同学也可以再举个手!没有同感的同学,可以听听我的理解。

实习面试的时候的,老大问多线程、算法等问题,我都是凭着记忆说的,估计能有50%是对的就很不错了。因为在学校时候,并没有项目实际操作,无法理解算法和数据结构存在的意义。就好像高中数学一样,尽管我学了三年,但是大一之后,全忘光了,也就初中数学题目,勉强还能做做!数据结构和算法同理。(内心OS:连C语言都弄不明白,还数据结构和算法,这TM不是扯淡吗)

看到这,混的好的同学估计已经投来了鄙视的眼神!内心OS:MDZZ,太差劲了!我承认客观因素有,更多的是主观因素导致的学业不精。我是一个普通人,普通学校毕业进的普通的公司,普通大众的中的一员。我对于面试知识的天生不敏感,无法在没有理解的基础上,建造高楼大厦!对于不感兴趣、用不上、又理解不了的知识,有着本能的抗拒性,我相信大部分人都这样。对于那些应试教育的天才,我是打心眼里佩服的,因为他们克服大多数人没有克服的“人性的弱点”,他们进985、211我没有觉得半点不公。

工作的这几年,讲真的我用到的算法几乎可以说是没有,可能跟我一直处于业务性开发的阶段有关。业务的复杂性高,遵循高内聚、低耦合的原则,进行功能上的原子性封装,然后搭积木就行了,方法实现经历过最多也就两层for循环就搞定了,用数组基本上可以打遍天下😅。用搬砖来形容,并不为过。做过了iOS开发、前端开发、java开发,发现现在趋势是语言+框架就可以满足80%的业务需求、解决80%的问题,算法在使用上少的可怜。不知道研究人脸识别、大数据、OCR、机器学习的同学,是不是每天遨游在算法的海洋里脱发😂

人不能掌握所有知识,人只能掌握他需要使用的知识!就算用过、会过,也有忘记细节的那一天。所以我觉得,只要做到:分析问题、寻找线索、排除线索、验证猜想、提出解决方案,做好小笔记, 将来不管做哪行、做什么项目,都不会被问题打垮!这也是我对科学家的定义。

让大家见笑了,大放厥词了一番,不要在意这些细节。有同学可能就问了,既然你对数据结构和算法并不感冒,为啥你TM要写这个博客?因为这么多年做了许多项目,发现都没有用上什么算法,是不是应该了解下,什么时候用什么算法,会不会是我在该用的时候又没有用呢,还有就是我对Swift Tensorflow 产生了兴趣,补充一些必备知识。

所以在接下来关于算法的学习博客中,都会由实际问题入手,去分析用什么算法,那些难的用不上的,我就不管了,反正我也不会🤔