缘起:为什么参加寒假算法训练营?

说实话,这是一连串巧合的结果。之前学校要举办一个编程比赛,我抱着试一试不亏的态度报了名。结果比赛因为疫情原因推迟到了下个学期,热心的学长们进而提出搞一个“寒假算法训练营”来培养一下我们这些学弟学妹。我想着,寒假与其在家里荒废,不如学点算法,还有个营。我不是一个自律的人,变相地整点他律挺好的。如今事到临头,才感觉到可能会压力不小。

训练安排

这是日程安排:冬训计划

其实空出的时间还是挺多的,上午没有安排,周日休息,春节有一周的长假。

训练目的

那当然是提升自己啦!

这么说或许太宽泛了,具体点就是以个人的长远发展为目的,提升自己的代码技术和代码思想,学习新的技术。我想起从前为了写代码快点儿,喜欢单行 if 不写花括号啦、main() 不写 void 啦,后来我发现,写代码应当分为思路和具体实现两部分,说得通俗点就是手写伪代码和键盘敲真代码。所以,要想提高写代码的速度,应当训练自己的思考速度和打字速度,而不是偷工减料,这样也是有利于提升自己的。 我知道很多算法工作中根本用不到,但恰恰是这些算法能够将你扩大以容纳更多东西。

C++/OOP

训练营大多都用的是 C++,但我之学了 C 语言,所以我还要额外学一些 C++ 的基础语法,有必要的话,还有高级特性。对我而言,这也算是踏入了面向对象的大门了吧。学 JAVA 应该会看与 C++ 联系颇多的 Core JAVA,所以 C++ 的学习也有助于未来学习 JAVA。

具体的算法和算法思想

算法所吸引我的,恰恰是它能够与现实问题呼应起来的实践感。但是我也明白,算法的尽头是数学,这似乎是背离实践的。只能说,我还没有完全领悟抽象的真谛,无法快速地将抽象联系到实际。

具体的算法是对具体算法题的抽象,其功利意义显而易见,而且这其中的思考过程也是快乐的。算法思想则是更高一层的抽象,或许可以应用到编程之外的学习和生活中。

复盘和总结的习惯

买鑫学长对我们做出了赛后多写两题写周总结这两点要求,看到他的个人博客和他写的书一样的总结,我心里的敬佩感油然而生,进而自己也想拥有这样的历程印记。写作是个很好的记录和表达工具,养成复盘和总结的习惯也是极好的。