算法学习

算法是一个重要的工具,并不在于如何使用(会用一点点和不会用基本上都不会考虑算法岗位,因为该岗位只有真正的高手才有资格争取),而是在于在掌握算法过程中,对学习者思想、认知上的改造。

是对绝大多数学习者来说,学习的过程更重要,可能已经忘记了许多算法的书写,但对思维的提升和改造是不可或缺的

像算法要素中对时间复杂度的计算和考量,学习者需要补足高中大学的数学知识和图形,同时对构成程序的一个个部件(如for循环、while循环)及其终结条件有足够的认识,才能理解、领会并掌握这一概念。

而学习完这个概念过后,就要针对性地补足绝大多数算法的时间复杂度、稳定性的知识,在这个过程中会领会到:追求极致的可能就是不稳定(shell排序,快速排序),而且低时间复杂度对设计者的要求更加严苛,需要了解更多数学领域的知识。

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

 

 

对抽象思维也有更进一步的要求(将现实问题与数学建模问题反反复复相互对应)

最后当然最重要的是,求职面试中对算法的要求,公司通过求职者算法水平的了解来判断此人的思维高度、临场记忆、基础功底等。

入职后不一定会用到,但绝对是一块不可缺少的敲门砖;对算法的学习和掌握充分体现一个人对计算机、数学的综合理解,若是在算法上没有大的问题,那么在解决其他问题时也能保持相对全面、综合的认知,在学习其他知识时,也能更快速地理解。

posted @ 2023-01-01 17:01  biingpo  阅读(60)  评论(0)    收藏  举报