大一下阶段总结及对下个学习计划展望

为什么会在这时候做总结呢,其实放寒假的时候就想总结一下了,但那时候感觉自己真的啥也没学会,大一上半学期我听说学校acm队找人但需要紫书刷够100题,当时信心满满,这学期搞完这本书不成问题吧。

但后来发现当时太天真了,紫书的难度设置是很不合理的,让一个刚会c基本使用和c++容器的上来就搞world final和区域赛的题,虽然这些都是老题而且比现在的要简单不少,但对新手来说是真的困难。更恐怖的是前面会有大模拟题,而且当时我就是硬看代码,从代码看别人的思路,因为网上找的博客和题解感觉很多都是不明所以,完全把握不到问题的核心和重点,记得刷到数据结构后半部分有一道题是递归根据后序遍历和中序遍历建树,然后在输出树的最短的一条路径,当时针挺绝望的,看代码完全看不懂,手写模拟又很难模拟,然后就去找后面的暴力题,前面几道暴力题还好,后面几道暴力例题就离谱了,这算是初次接触算法吧,见识到了算法的恐怖。

然后我就寻思着先去打打基础再回来吧,然后我就去学数据结构先学郝斌数据结构,感觉很多问题讲得过于细了,进步不明显,但从郝斌那学到的不只是算法知识,还有对算法数据结构的崇敬,然后去学浙江大学数据结构,浙江大学讲得好是很好,但是代码实现太少了,很多都是伪代码,没有简洁的代码实现,所以难成算法体系,然后我就去寻思着跟着洛谷板刷吧,刚开始还好,然后到了图和集合就感觉难度突增,一道题要看好久,然后又加上期末,复习了不少时间,转眼就到寒假了,寒假我本来打算是啃白书和紫书简单点的题,把算法知识过一遍,再去洛谷刷,再回到白书和紫书。(当时感觉自己的算法基本都是从浙江大学那个数据结构课学的,什么dijstra.prim.)

然后偶然的机会看到了群里有一个寒假acwing每日一题的链接,拼团只要一块钱,我寻思着一块钱买就买了,这也为后来埋下了伏笔。然后寒假开始,我在电脑前一呆就是一天,但当时感觉每天进步真的很慢,学到的知识七零八碎,我偶尔也会抽出时间去做一道acwing每日一题,然后有一道题我印象十分深刻,是一道镜子田地的问题,一道图论问题,我当时图论还只是停留在浙江大学慕课看完的阶段,而且已经过去两三个月了,然后一个在现在看来简单地不能再简单的邻接表建图都建不出来,当时最喜欢的还是邻接矩阵建图,我看他视频里说基础课已经讲了然后我就知道了acwing的课程,当时想这些基础课的好多算法我都学过一遍了,以后再复习一遍就行了,应该不必要买了,打算买提高课。然后去基础课后面找了几道题发现自己都不会,然后前面的快速排序,归并排序也忘得差不多了,于是就买了基础课。

学基础课这段时间我感觉是我进步最快的一段时间,以前很多学过的算法重新拾了起来,拓展了很多新的算法,明白了时间复杂度分析是算法最为重要的。接着又把acwing的提高课买了,提高课难度确实要比基础课高,现在是刚把最小生成树看完的阶段,到目前看来很多算法学起来很困难例如状态压缩dp,环形dp单调队列优化dp,斜率优化dp,很容易学完当时理解了,然后就忘了。

我认为这是算法思维不够敏捷,坚固导致的,看了别人的建议是从codeforce1000往上刷,连续30分钟内想出一道题5次就+100难度,知道能够连续5次想出2100再回来学后面的算法,所以现在正在刷codeforce。

这次蓝桥杯感觉发挥的还可以吧,期望能拿个省一吧。感觉也就打打蓝桥杯了,ACM太难了,题都读不懂。

计划以后拿出更多的时间学基础,只读最经典的书。

然后跟着acwing写写项目,等到codeforce板刷到2100了再回来刷算法。

经验分享 程序员 微信小程序 职场和发展