我为什么要开始为期半年的算法练习

209 阅读3分钟

不一样的角度

其实不知道什么时候我开始不和自己交谈了,这很恐怖; 我知道很容易陷入思考停滞的情况,但是思考很累,就很容易放弃,苦中作乐的精神还是需要有的;

背景

在做规划的时候,发现自己很难突破现在的困境,因为我想看源码,其实还是看的有点头晕;最近一个偶然的机会发现自己看了算法之后,瞬间明白了为什么源码的代码设计需要那样子设计;还有最近看操作系统的设计视频,我才知道具体知道内存调度的方式和算法;看完的感觉是“妙”~

如何学习一门新的技术的思路

第一:最重要的是先看文档或者是先看视频介绍 第二:做相关的练习 第三:用自己的话讲给被人听 第四:去看开源的源码,然后学习别人是怎么写的

一些想法吧

其实最近初步了解了下;之前以为算法只是如何设计一个数据结构,和算法方式;我感觉有点狭隘了;

关于写代码:正确的应该是如何写出更加省时间,省空间的代码;其实之前一直都没这方面的意识;以为优雅的代码仅仅就是封装好,抽象好就可以了,殊不知这远远不够;有时候你不去考虑,他虽然客观存在,但是在你的世界中就不会有;当然你也会被取代;

关于看源码:无论是面试还是自己对代码的追求,偶尔都会去看看源码,但是有的时候涉及到算法的优化,我都会不知道怎么弄,慢慢我才知道算法优化,衡量标准等等是多么的重要;不然你怎么看的懂别人新想法,开源项目的核心思想???如果这些不懂你该如何去创新,创造出好的东西出来给大家用

关于解决问题:最近在做一个协作的项目,关于数据结构的协作性如何解决;后面团队想到的是通过数据打平,用相对值,墓碑的方式去解决,每一次协作的数据结构的改变都是一次很重大的改变;但是这次数据结构的改变带来的效益和代码上的便捷性是非常大的; 无论是优化还是解决问题,都需要进行数学建模,那样才是科学的;怎么说呢;比如我大学的时候进行的一次数学建模,计算湖南几个市区之前路径的最优解;到了最后我们抽象成了一个公式,这样子我们在理解这个问题或者优化这个问题的时候都会有规可寻;其实这种就是一种算法的运用

总之越复杂的问题这方便要求越高;如果5年之后,年轻的程序员越来越多,自己的