算法学习
算法是一个重要的工具,并不在于如何使用(会用一点点和不会用基本上都不会考虑算法岗位,因为该岗位只有真正的高手才有资格争取),而是在于在掌握算法过程中,对学习者思想、认知上的改造。
是对绝大多数学习者来说,学习的过程更重要,可能已经忘记了许多算法的书写,但对思维的提升和改造是不可或缺的
像算法要素中对时间复杂度的计算和考量,学习者需要补足高中大学的数学知识和图形,同时对构成程序的一个个部件(如for循环、while循环)及其终结条件有足够的认识,才能理解、领会并掌握这一概念。
而学习完这个概念过后,就要针对性地补足绝大多数算法的时间复杂度、稳定性的知识,在这个过程中会领会到:追求极致的可能就是不稳定(shell排序,快速排序),而且低时间复杂度对设计者的要求更加严苛,需要了解更多数学领域的知识。

高效率的算法还可能存在对空间上的高要求(如桶排序)

对抽象思维也有更进一步的要求(将现实问题与数学建模问题反反复复相互对应)
最后当然最重要的是,求职面试中对算法的要求,公司通过求职者算法水平的了解来判断此人的思维高度、临场记忆、基础功底等。
入职后不一定会用到,但绝对是一块不可缺少的敲门砖;对算法的学习和掌握充分体现一个人对计算机、数学的综合理解,若是在算法上没有大的问题,那么在解决其他问题时也能保持相对全面、综合的认知,在学习其他知识时,也能更快速地理解。

浙公网安备 33010602011771号