如何学习
在我的高中阶段,学习的过程基本上是,先了解知识点,然后做题运用,然后整理乘笔记,最后总结思想。这四个过程组成了学习,但是第一步了解知识点是什么样的呢,现在马上也一年了,也是时候总结总结本质的学习了。
一般的学习应该先了解我们学习的是什么,然后去深究为什么,最后总结知识点和技巧,并从中获取思想,用于以后的东西。这个过程才叫做学透了。学习的是什么很简单,比如学习线段树,我们只需要学习他的时间复杂度是多少,空间多少,如何建立、修改、查询,然后这个算法就算是基本掌握了怎么用,然后做点题,掌握掌握技巧就差不多了,就会用了,可以说是会了。
但是线段树真的就只有这些吗,我们是否漏了些什么呢?很多时候我们都只注重成果,而容易忽略过程和过程中所展现的一种思想。我总是认为,一个算法的发明,除了算法的本身,他怎么被发现出来也是充满智慧的,如果要深入了解一个人,你不止要求了解他有什么成果,还需要知道他是如何得出这个成果的,怎么经历的。有时候这是比 “运用”,更加有用的东西。
所以学习一个东西,应该先了解他的背景,然后是内容。
求其解,知其原因,究其思维之本。
现在大部分人都是前面说的 ”学会了“。但是只限于会这个东西,因此很多只限于会了,或许我们应该换一种思路突破这个所谓的学会了,去深入发展,探索思想。先去学会,再去研究为什么,再知道是如何想到这样做。算法的主要思想在于为什么这步,但是最后的,如何想到,则包含着另一种,隐形的,思想。这种最难获取了。
目前需要新增一个方面,对于算法而言,有的算法不是完美的,是有弱点的,比如路径压缩可以被卡成 \(\operatorname O(n)\),SPFA 可以被卡成 \(\operatorname O(nm)\),我们在知道其长处的时候,也应知道其缺点,并知道该如何利用缺点卡掉此算法,或者优化此算法,防止被卡。这种正反手考虑也可以增加对于算法的理解。

浙公网安备 33010602011771号