最近我自己的阶段给停了,专心去搞算法,算法再次刷新了我的认知,我以前只是知道算法很难,但是现在稍微开始了解算法之后,我才发现自己之前做的算法题实际上是连入门都不算,我现在有的后悔自己寒假的算法效率,要是当时自己把时间抓紧点,算法肯定能更进一步。
我以前以为算法的各种技巧是全部靠自己的悟性,只有那些天生聪明的同学才能做出来,现在我开始系统了解算法,发现算法是有套路的,是有题型的,是成体系的。原来的看法和观点在自己后来的成长和实践中,全都不再成立。
其实高中的时候就是这样,所有的高考题目都有其对应着题型,大多数的同学可以通过刷题掌握规律,然后取得不错的成绩。对于一些比较顶尖的同学,也就是悟性比较高的同学,他们可以快速掌握规律,然后面对一些有所创新的题目的时候,也能写出正确答案。但是创新能有多少,也就是一小部分,对于没有那么高端的比赛,更多的还是看基础能力,我们只要把该掌握的知识点掌握(甚至掌握一部分),就能取得不错的成绩。
不过,对于基础的算法知识(一般的知识点,动态规划,dfs,bfs,二分,贪心等等)想要入门也是有难度的,尤其是牵扯到了递归的时候,就会发现难度一下就上去了,我们可以通过多刷同类型的题目,然后去慢慢掌握大致思路和感觉,功夫到了,自然就可以写出正确答案了。
那么算法这么难,我们如何才能坚持下来呢?
1.和自己的小伙伴一起去学习,小伙伴之间可以互相监督。
2.可以参加一个比赛,故意性的去把算法加入自己学习计划中。
3.针对题型去刷算法,由简单到困难。
4.要在算法中感到成就感,成就感能够让你持续获得动力。
5.良好的心态。每个人都会在算法学习过程中遇到一段绝望的时候,会变得emo,会丧失信心。不只是算法,任何有挑战性的任务都会有让你难受的感觉,但是正是这些让你害怕的事情去才能让你成长。要是做一些轻而易举就能完成的事情就能成长,那这个世界就乱套了。
6.多去寻求帮助,当自己没有方向或者自己感到绝望的时候,多去寻求比自己厉害的同学。
7.直面算法,逃避的话问题会一直积累。
我不是对算法有真心的热爱,但是我在解决一道算法题时,我会获得快乐,任何有技术性,有挑战性的事情都是这样的。如果你是真的对算法感兴趣,那么你应该感到高兴,你更能学好算法,你在做自己喜欢的事情的同时,还能获得获得一些物质性的收获(工作中赚到的钱等等)。
愿大家都能在眼下的蓝桥杯比赛中取得优异的成绩。